diff options
author | Uri Lublin <uril@redhat.com> | 2013-06-27 00:29:22 +0300 |
---|---|---|
committer | Uri Lublin <uril@redhat.com> | 2013-07-16 23:37:25 +0300 |
commit | b1330fcd5d49964a724ce0cfca755318f2918a35 (patch) | |
tree | 61b98e97c46534f4ab494b56e2af7d5eef333b08 /client/canvas.cpp | |
parent | e4029833da5bde9a70993daeb78345a0f331d1c6 (diff) | |
download | spice-b1330fcd5d49964a724ce0cfca755318f2918a35.tar.gz spice-b1330fcd5d49964a724ce0cfca755318f2918a35.tar.xz spice-b1330fcd5d49964a724ce0cfca755318f2918a35.zip |
red_worker: make WORKER_FOREACH_DCC safe
Specifically, the loop in red_pipes_add_draw can cause spice to abort.
In red_worker.c (WORKER_FOREACH_DCC):
red_pipes_add_drawable
red_pipe_add_drawable
red_handle_drawable_surfaces_client_synced
red_push_surface_image
red_channel_client_push
red_channel_client_send
red_peer_handle_outgoing
reds_stream_writev (if fails -- EPIPE)
handler->cb->on_error = red_channel_client_disconnect()
red_channel_remove_client()
ring_remove() -- of rcc from channel.clients ring.
Diffstat (limited to 'client/canvas.cpp')
0 files changed, 0 insertions, 0 deletions