spice/server
Yonit Halperin b30daf38bf red_channel: replace an assert upon threads mismatch with a warning
The assert:
spice_assert(pthread_equal(pthread_self(), client->thread_id))
and the assert:
spice_assert(pthread_equal(pthread_self(), rcc->channel->thread_id))
were coded in order to protect data that is accessed from the main
context (red_client and most of the channels), from
access by threads of other channels (namely, the display and cursor
channels), and vice versa.
However, some of the calls to the sound channel interface,
and also the char_device interface, can be done from the vcpu thread.
It doesn't endanger these channels internal data, since qemu use global
mutex for the vcpu and io threads.
Thus, pthread_self() can be !=  channel->thread_id, if one of them is
the vcpu thread and the other is the io-thread, and we shouldn't assert.

Future plans: A more complete and complicated solution would be to manage our own thread for
spice-channels, and push input from qemu to this thread, instead of
counting on the global mutex of qemu

rhbz#823472
2013-05-24 16:27:31 -04:00
..
tests server/tests: test_display_width_stride 2013-05-17 11:06:34 -04:00
.gitignore gitignore: add generated_*, vim temps, pyc 2010-11-08 16:06:55 +02:00
agent-msg-filter.c server: Filter VD_AGENT_MONITORS_CONFIG 2012-09-13 14:47:32 +03:00
agent-msg-filter.h server: Filter VD_AGENT_MONITORS_CONFIG 2012-09-13 14:47:32 +03:00
char_device.c char_device: Don't set active when stopped and don't access dev after unref 2013-03-29 10:07:26 +01:00
char_device.h char_device: Add spice_char_device_write_buffer_get_server_no_token() 2013-03-07 11:52:23 +01:00
demarshallers.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
dispatcher.c Don't do arithmetic on void * type, use uint8_t instead 2012-04-25 09:40:18 +01:00
dispatcher.h dispatcher.h: fix - s/#define MAIN_DISPATCHER_H/#define DISPATCHER_H 2013-04-22 16:30:54 -04: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 Fix multiple printf format problems 2012-04-25 09:42:11 +01:00
glz_encoder_dictionary_protected.h server: s/max_encdoers/max_encoders/ 2012-08-30 17:08:09 +03:00
glz_encoder_dictionary.c server: s/max_encdoers/max_encoders/ 2012-08-30 17:08:09 +03: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 Use the spice-common submodule 2012-03-25 18:59:10 +02:00
inputs_channel.c red_channel: monitor connection latency using MSG_PING 2013-04-22 16:30:54 -04:00
inputs_channel.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
jpeg_encoder.c Use the spice-common logging functions 2012-03-25 19:00:00 +02:00
jpeg_encoder.h Remove trailing whitespace from end of lines 2012-01-13 18:11:59 +02:00
main_channel.c main_channel: fix double release of migration target data 2013-05-23 16:59:04 -04:00
main_channel.h main_channel: add routine for checking if a network test had been conducted and completed 2013-05-08 09:39:46 -04:00
main_dispatcher.c server/dispatchers: initialize stack to 0 for valgrind 2013-05-17 11:06:34 -04:00
main_dispatcher.h reds: support mm_time latency adjustments 2013-04-22 16:30:55 -04:00
Makefile.am server: spice_timer_queue 2013-04-22 16:30:54 -04:00
migration_protocol.h enable seamless migration and set migration protocol version 2012-08-27 09:13:14 +03:00
mjpeg_encoder.c collect and print video stream statistics 2013-04-22 16:30:55 -04:00
mjpeg_encoder.h server/red_worker.c: use the bit rate of old streams as a start point for new streams 2013-04-22 16:30:55 -04:00
red_bitmap_utils.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
red_channel.c red_channel: replace an assert upon threads mismatch with a warning 2013-05-24 16:27:31 -04:00
red_channel.h red_channel: add spice_channel_client_error 2013-05-08 11:18:44 -04:00
red_client_cache.h Use the spice-common logging functions 2012-03-25 19:00:00 +02:00
red_client_shared_cache.h Use the spice-common logging functions 2012-03-25 19:00:00 +02:00
red_common.h server/red_parse_qxl: add bitmap consistency check 2012-09-03 19:27:22 +03:00
red_dispatcher.c server/dispatchers: initialize stack to 0 for valgrind 2013-05-17 11:06:34 -04:00
red_dispatcher.h server/red_dispatcher: close pa hole in RedWorkerMessageDisplayConnect for valgrind 2013-05-17 11:06:34 -04:00
red_memslots.c Add support for QXLComposite to spice server 2012-08-24 13:44:42 -04:00
red_memslots.h server: allow failure in getvirt 2012-04-05 18:28:49 +03:00
red_parse_qxl.c server/red_parse_qxl: two coding convention pointer cast fix 2013-05-17 11:06:34 -04:00
red_parse_qxl.h Add support for QXLComposite to spice server 2012-08-24 13:44:42 -04:00
red_tunnel_worker.c server/red_tunnel_worker: remove unneeded expect_migrate_mark 2012-08-30 17:08:09 +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: simplify monitors_config update 2013-05-17 11:06:34 -04:00
red_worker.h server: Add public spice_qxl_driver_unload method 2013-04-24 09:31:27 +02:00
reds_gl_canvas.c Use the spice-common submodule 2012-03-25 18:59:10 +02:00
reds_gl_canvas.h Use the spice-common submodule 2012-03-25 18:59:10 +02:00
reds_sw_canvas.c Use the spice-common submodule 2012-03-25 18:59:10 +02:00
reds_sw_canvas.h Use the spice-common submodule 2012-03-25 18:59:10 +02:00
reds-private.h reds: support mm_time latency adjustments 2013-04-22 16:30:55 -04:00
reds.c Log actual address spice-server binds to 2013-05-19 16:04:31 +02:00
reds.h reds: move handle_channel_event logic from main_dispatcher to reds 2013-05-08 11:26:57 -04:00
smartcard.c red_channel: monitor connection latency using MSG_PING 2013-04-22 16:30:54 -04:00
smartcard.h smartcard: use SpiceCharDeviceState for managing reading from the device 2012-07-03 14:13:42 +03:00
snd_worker.c snd_worker: support sending SPICE_MSG_PLAYBACK_LATENCY 2013-04-22 16:30:54 -04:00
snd_worker.h snd_worker: support sending SPICE_MSG_PLAYBACK_LATENCY 2013-04-22 16:30:54 -04:00
spice_timer_queue.c server: spice_timer_queue 2013-04-22 16:30:54 -04:00
spice_timer_queue.h server: spice_timer_queue 2013-04-22 16:30:54 -04:00
spice-experimental.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
spice-server.syms server: Add public spice_qxl_driver_unload method 2013-04-24 09:31:27 +02:00
spice.h server: Add public spice_qxl_driver_unload method 2013-04-24 09:31:27 +02:00
spicevmc.c red_channel: monitor connection latency using MSG_PING 2013-04-22 16:30:54 -04:00
stat.h Remove trailing blank lines 2012-01-13 18:11:59 +02:00
zlib_encoder.c Use the spice-common logging functions 2012-03-25 19:00:00 +02:00
zlib_encoder.h applying zlib compression over glz on WAN connection 2010-06-21 15:05:37 +02:00