spice/server
Dan McGee 143a1df24e red_worker: reimplement event loop using poll()
This removes the epoll dependency we had in red_worker, which was the
last Linux-specific call we were using in the entire Spice server. Given
we never have more than 10 file descriptors involved, there is little
performance gain had here by using epoll() over poll().

The biggest change is introduction of a new pre_disconnect callback;
this is because poll, unlike epoll, cannot automatically remove file
descriptors as they are closed from the pollfd set. This cannot be done
in the existing on_disconnect callback; that is too late as the stream
has already been closed and the file descriptor lost. The on_disconnect
callback can not be moved before the close and other operations easily
because of some behavior that relies on client_num being set to a
certain value.

Signed-off-by: Dan McGee <dpmcgee@gmail.com>
2012-02-21 10:20:46 +02:00
..
tests server/tests/basic_event_loop: print something on channel_event 2012-02-15 15:09:13 +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 Remove trailing blank lines 2012-01-13 18:11:59 +02:00
dispatcher.c Remove extra '\n' from red_printf() calls 2012-02-14 18:19:29 +02:00
dispatcher.h server/dispatcher: add dispatcher_register_async_done_callback 2011-11-08 16:22:21 +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 Remove trailing whitespace from end of lines 2012-01-13 18:11:59 +02:00
glz_encoder_config.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
glz_encoder_dictionary_protected.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
glz_encoder_dictionary.c Remove trailing blank lines 2012-01-13 18:11:59 +02:00
glz_encoder_dictionary.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
glz_encoder.c Remove trailing blank lines 2012-01-13 18:11:59 +02:00
glz_encoder.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
inputs_channel.c server/inputs_channel: don't set O_ASYNC option on socket 2012-01-23 12:28:58 +02:00
inputs_channel.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
jpeg_encoder.c Remove trailing whitespace from end of lines 2012-01-13 18:11:59 +02:00
jpeg_encoder.h Remove trailing whitespace from end of lines 2012-01-13 18:11:59 +02:00
main_channel.c Fix line length errors in main_channel 2012-01-23 12:28:57 +02:00
main_channel.h server: handling semi-seamless migration in the target side 2011-11-02 11:25:59 +02:00
main_dispatcher.c server, separate SpiceChannelEventInfo from RedStream 2012-02-15 15:04:04 +02:00
main_dispatcher.h [0.8 branch] server: add main_dispatcher 2011-10-31 17:35:54 +02:00
Makefile.am Add configure-time check for -Wl, --version-script option 2012-02-21 10:20:44 +02:00
mjpeg_encoder.c Remove useless if() before free() 2012-01-13 18:11:58 +02:00
mjpeg_encoder.h mjpeg_encoder: remove unused functions 2011-07-22 16:53:56 +02:00
red_bitmap_utils.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
red_channel.c red_worker: reimplement event loop using poll() 2012-02-21 10:20:46 +02:00
red_channel.h red_worker: reimplement event loop using poll() 2012-02-21 10:20:46 +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 Remove trailing whitespace from end of lines 2012-01-13 18:11:59 +02:00
red_common.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
red_dispatcher.c server/red_worker: pass remote caps to display/cursor red_channel_client's 2012-01-12 16:17:01 +02:00
red_dispatcher.h server/red_worker: pass remote caps to display/cursor red_channel_client's 2012-01-12 16:17:01 +02: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 Remove trailing blank lines 2012-01-13 18:11:59 +02:00
red_parse_qxl.h server/red_parse_qxl.h: License should be LGPLv2+ rather then GPLv2+ 2011-12-15 13:12:31 +01:00
red_tunnel_worker.c server: Don't complain if setsockopt NODELAY fails on unix sockets 2012-01-18 11:14:40 +01: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 red_worker: reimplement event loop using poll() 2012-02-21 10:20:46 +02:00
red_worker.h Remove trailing blank lines 2012-01-13 18:11:59 +02: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 red_worker: reimplement event loop using poll() 2012-02-21 10:20:46 +02:00
reds.h server, separate SpiceChannelEventInfo from RedStream 2012-02-15 15:04:04 +02:00
smartcard.c Rewrite code to avoid triggering warning about casting param to free() 2012-01-13 18:11:58 +02:00
smartcard.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
snd_worker.c Remove extra '\n' from red_printf() calls 2012-02-14 18:19:29 +02:00
snd_worker.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
spice-experimental.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
spice-server.syms Add APIs for injecting a client connection socket 2012-01-09 18:57:57 +01:00
spice.h server: support IPV6 addresses in channel events sent to qemu 2012-02-12 13:15:18 +02:00
spicevmc.c server/spicevmc: Don't destroy the rcc twice 2012-02-20 16:32:31 +01:00
stat.h Remove trailing blank lines 2012-01-13 18:11:59 +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