spice/server
Alon Levy bd8771adbc [0.8 branch] server: add main_dispatcher
add main_dispatcher, a message passing mechanism for sending messages to
the main thread. The main thread is the thread that implements
SpiceCoreInterface, which is assumed to be a single thread.

Similar to the async operation of red_worker, a socket pair is created
and used to pass messages. The messages are a fixed size to ease
parsing. A single message is defined to pass a channel_event.

RHBZ: 746950
FDBZ: 41858

This patch is 0.8 branch only, for the master branch there should be a
better approach to share code with red_dispatcher and ready the way for
later adding more threads.

cherry-pick from 0.8 80caf07e09

Conflicts:

	server/reds.c
2011-10-31 17:35:54 +02:00
..
tests server: fix function prototypes 2011-09-05 07:52:20 +02:00
.gitignore gitignore: add generated_*, vim temps, pyc 2010-11-08 16:06:55 +02:00
agent-msg-filter.c add #include <config.h> to all source files 2011-05-03 14:44:10 +02:00
agent-msg-filter.h server: add discard all option to agent message filter 2011-04-04 11:30:30 +02:00
char_device.h Rename usbredir channel code to spicevmc 2011-08-25 14:04:27 +02:00
demarshallers.h Add destructor for demarshalled messages 2010-06-22 10:53:24 +02:00
glz_encode_match_tmpl.c add #include <config.h> to all source files 2011-05-03 14:44:10 +02:00
glz_encode_tmpl.c add #include <config.h> to all source files 2011-05-03 14:44:10 +02:00
glz_encoder_config.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
glz_encoder_dictionary_protected.h Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
glz_encoder_dictionary.c add #include <config.h> to all source files 2011-05-03 14:44:10 +02:00
glz_encoder_dictionary.h Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
glz_encoder.c add #include <config.h> to all source files 2011-05-03 14:44:10 +02:00
glz_encoder.h Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
inputs_channel.c server: fix function prototypes 2011-09-05 07:52:20 +02:00
inputs_channel.h server/inputs_channel: remove unused declaration in inputs_channel.h 2010-12-07 21:32:34 +02:00
jpeg_encoder.c fix leak in do_jpeg_encode 2011-08-25 14:48:01 +02:00
jpeg_encoder.h JPEG support: introducing jpeg encoding for spice bitmaps 2010-06-09 11:40:25 +02:00
main_channel.c server/reds: fix reds_main_channel_connected 2011-08-23 18:29:45 +03:00
main_channel.h server/reds: fix reds_main_channel_connected 2011-08-23 18:29:45 +03:00
main_dispatcher.c [0.8 branch] server: add main_dispatcher 2011-10-31 17:35:54 +02:00
main_dispatcher.h [0.8 branch] server: add main_dispatcher 2011-10-31 17:35:54 +02:00
Makefile.am [0.8 branch] server: add main_dispatcher 2011-10-31 17:35:54 +02:00
mjpeg_encoder.c mjpeg: add missing SPICE_BITMAP_FMT_RGBA 2011-08-02 11:13:49 +02:00
mjpeg_encoder.h mjpeg_encoder: remove unused functions 2011-07-22 16:53:56 +02:00
red_bitmap_utils.h Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
red_channel.c red_channel: Fix msg buf memleak on parser error 2011-08-25 14:04:27 +02:00
red_channel.h server: fix function prototypes 2011-09-05 07:52:20 +02:00
red_client_cache.h server/red_worker: multiple client support - base split 2011-08-23 18:01:04 +03:00
red_client_shared_cache.h server/red_worker: multiple client support - base split 2011-08-23 18:01:04 +03:00
red_common.h server/common: introduce common/spice_common.h 2011-03-02 17:27:51 +02:00
red_dispatcher.c fix inverted memset parameters 2011-08-25 14:37:08 +02:00
red_dispatcher.h server: registering RedChannel in reds, instead of Channel 2011-08-23 18:27:46 +03:00
red_memslots.c add #include <config.h> to all source files 2011-05-03 14:44:10 +02:00
red_memslots.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
red_parse_qxl.c server: add async io support 2011-07-20 16:00:19 +03:00
red_parse_qxl.h server/red_worker: add ref counting to RedDrawable 2011-08-23 18:07:10 +03:00
red_tunnel_worker.c server: registering RedChannel in reds, instead of Channel 2011-08-23 18:27:46 +03:00
red_tunnel_worker.h server: Unset executable bit of red_tunnel_worker.h 2011-05-05 20:04:49 +03:00
red_worker.c server/red_worker: fix placing of ASSERT(red_channel_client_no_item_being_sent) (fdbz #41523) 2011-10-18 15:16:46 +02:00
red_worker.h server: registering RedChannel in reds, instead of Channel 2011-08-23 18:27:46 +03:00
reds_gl_canvas.c common,server: use ASSERT from spice_common.h 2011-05-03 14:44:11 +02:00
reds_gl_canvas.h autotools: correctly build canvas-related code 2011-05-03 14:44:10 +02:00
reds_sw_canvas.c common,server: use ASSERT from spice_common.h 2011-05-03 14:44:11 +02:00
reds_sw_canvas.h autotools: correctly build canvas-related code 2011-05-03 14:44:10 +02:00
reds.c [0.8 branch] server: add main_dispatcher 2011-10-31 17:35:54 +02:00
reds.h server: fix function prototypes 2011-09-05 07:52:20 +02:00
smartcard.c fix more inverted memset parameters 2011-08-25 14:55:39 +02:00
smartcard.h remove unused function 2011-07-19 13:31:10 +02:00
snd_worker.c server/snd_worker.c: add reference counting to SndChannel 2011-08-23 18:30:26 +03:00
snd_worker.h use foo(void) instead of foo() in prototypes 2011-05-02 11:24:44 +02:00
spice-experimental.h move chardevs out of experimental 2010-12-16 09:16:10 +01:00
spice-server.syms server: add public spice_server_get_num_clients 2011-08-23 18:29:21 +03:00
spice.h server: add public spice_server_get_num_clients 2011-08-23 18:29:21 +03:00
spicevmc.c Rename usbredir channel code to spicevmc 2011-08-25 14:04:27 +02:00
stat.h Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
zlib_encoder.c add #include <config.h> to all source files 2011-05-03 14:44:10 +02:00
zlib_encoder.h applying zlib compression over glz on WAN connection 2010-06-21 15:05:37 +02:00