summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* worker: painfully move display_channel_add_drawablejjongsma_rebaseJonathon Jongsma2015-11-133-547/+553
|
* Move stream functions to stream.[ch]Jonathon Jongsma2015-11-134-371/+378
|
* Move dcc_create_stream to display channelJonathon Jongsma2015-11-132-1/+3
|
* Add red_worker_get_clockid()Jonathon Jongsma2015-11-132-0/+8
|
* Move some more drawable functions to display channelJonathon Jongsma2015-11-132-28/+28
|
* Move some tree item functions to tree.[ch]Jonathon Jongsma2015-11-133-55/+62
| | | | | | | Also rename some functions slightly: __find_shadow -> tree_item_find_shadow() __contained_by -> tree_item_contained_by() ring_of -> tree_item_container_items();
* Remove declaration for display_channel_attach_stream()Jonathon Jongsma2015-11-131-3/+0
| | | | This function was never defined.
* worker: Rename red_current_clear() to current_remove_all()Jonathon Jongsma2015-11-131-8/+8
|
* Move dcc_push_stream_agent_clip() to display channelJonathon Jongsma2015-11-133-19/+20
| | | | rename to dcc_add_stream_agent_clip()
* worker: don't use weird RedCompressedBuf nbytes shiftingMarc-André Lureau2015-11-132-20/+30
| | | | | | | Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Pavel Grunt <pgrunt@redhat.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* spicevmc: set state of DeviceInstance to NULLVictor Toso2015-11-131-0/+1
| | | | | | | After spice_char_device_state_destroy is called spicevmc should not keep reference to that memory. state->chardev_st and sin->st point to the same SpiceCharDeviceState and both should be set to NULL when it is destroyed.
* char-device: set to NULL freed pointers on destroyVictor Toso2015-11-131-0/+2
| | | | | | | | As SpiceCharDeviceState is only unref'ed on spice_char_device_state_destroy the same device could be destroyed more then once so the pointers that are freed should be set to NULL. Related: https://bugzilla.redhat.com/show_bug.cgi?id=1281455
* reds: Do not abort due to wrong headerPavel Grunt2015-11-131-1/+4
| | | | | | | | | | | | | | | | | | | | | Just prevent the buggy client from connecting. #0 0x00007fffe83b2a98 in raise () at /lib64/libc.so.6 #1 0x00007fffe83b469a in abort () at /lib64/libc.so.6 #2 0x00007ffff7b1533d in spice_logv (log_domain=0x7ffff7b87226 "Spice", log_level=SPICE_LOG_LEVEL_ERROR, strloc=0x7ffff7b92aba "reds.c:1373", function=0x7ffff7b94f40 <__FUNCTION__.31775> "reds_send_link_ack", format=0x7ffff7b871fe "assertion `%s' failed", args=args@entry=0x7fffffffcb68) at log.c:109 #3 0x00007ffff7b15468 in spice_log (log_domain=log_domain@entry=0x7ffff7b87226 "Spice", log_level=log_level@entry=SPICE_LOG_LEVEL_ERROR, strloc=strloc@entry=0x7ffff7b92aba "reds.c:1373", function=function@entry=0x7ffff7b94f40 <__FUNCTION__.31775> "reds_send_link_ack", format=format@entry=0x7ffff7b871fe "assertion `%s' failed") at log.c:123 #4 0x00007ffff7aee335 in reds_handle_read_link_done (link=0x555556b27c70) at reds.c:1373 #5 0x00007ffff7aee335 in reds_handle_read_link_done (opaque=0x555556b27c70) at reds.c:2139 #6 0x000055555588acc6 in qemu_iohandler_poll () #7 0x000055555588a8e1 in main_loop_wait () #8 0x0000555555614064 in main () Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1281442 Acked-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
* char-device: free all memory pool when no clientsVictor Toso2015-11-131-0/+6
| | | | | | | | When no client is connect we should not need to keep the memory pool used by char-device. In most situations this is not significant but when using webdav this could mean freeing MAX_POOL_SIZE bytes Related: https://bugs.freedesktop.org/show_bug.cgi?id=91350
* char-device: Define a memory pool limitVictor Toso2015-11-131-1/+8
| | | | | | | | Otherwise the amount of unused memory could grow while transfering big chunks of data. This change only means that once the memory was used it will not be stored again after the limit was reached. Related: https://bugs.freedesktop.org/show_bug.cgi?id=91350
* char-device: fix usage of free/unref on WriteBufferVictor Toso2015-11-131-12/+22
| | | | | | | | | | | There are places were the could should definetly free the SpiceCharDeviceWriteBuffer and places that it should only unref it. The current use of spice_char_device_write_buffer_free was missleading. This patch creates the spice_char_device_write_buffer_unref and properly call these two functions. Related: https://bugs.freedesktop.org/show_bug.cgi?id=91350
* worker: fix compiling with COMPRESS_STAT enabledFrediano Ziglio2015-11-123-22/+22
| | | | | | Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: Remove usage of streaming_video global in DisplayChannelPavel Grunt2015-11-121-6/+6
| | | | | | | | | Avoid creating streams for every image due to not properly initialized DisplayChannel->stream_video field. Regression since: 4987df8e67f48cde13d39f4e81909f672ae33e29 Acked-by: Frediano Ziglio <fziglio@redhat.com>
* worker: move some tree container functionsMarc-André Lureau2015-11-123-28/+33
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: rename a bit current_add functionsMarc-André Lureau2015-11-121-10/+10
| | | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com> Acked-by: Frediano Ziglio <fziglio@redhat.com>
* worker: Remove duplicate DISPLAY_CLIENT_TIMEOUT defineJonathon Jongsma2015-11-111-1/+0
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: move RED_WORKER_STAT, make it compile againMarc-André Lureau2015-11-113-169/+154
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: Move drawable utility functions to display channelJonathon Jongsma2015-11-112-92/+92
| | | | | | | | Functions that check the equality of a path, brush, etc are moved the display channel source file to prepare for moving the surfaces to the display channel. Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: Move is_opaque_item() to tree.hJonathon Jongsma2015-11-112-6/+6
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: move drawable to displayMarc-André Lureau2015-11-112-68/+74
| | | | Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* worker: move current to displayMarc-André Lureau2015-11-102-12/+20
| | | | Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* worker: move red_destroy_surface_item()Marc-André Lureau2015-11-103-42/+49
| | | | Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* worker: move stream to display channelMarc-André Lureau2015-11-105-320/+323
| | | | Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* worker: move DisplayChannel/DisplayChannelClient functions togetherMarc-André Lureau2015-11-101-163/+164
| | | | | | Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* worker: rename functions that handle DisplayChannelClientMarc-André Lureau2015-11-101-18/+18
| | | | | | | Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: move stream functions to a new stream.c fileMarc-André Lureau2015-11-104-50/+78
| | | | | | | Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: move stream definitions to a new stream.h fileMarc-André Lureau2015-11-104-93/+125
| | | | | | Signed-off-by: Marc-André Lureau <marcandre.lureau@gmail.com> Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* worker: fix RED_STREAM_TIMOUT macro spellingMarc-André Lureau2015-11-101-3/+3
| | | | | Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* remove server/stream.h file added by mistake in previous commitFrediano Ziglio2015-11-101-139/+0
| | | | | Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Pavel Grunt <pgrunt@redhat.com>
* worker: move image cache to displayMarc-André Lureau2015-11-105-91/+247
| | | | Acked-by: Frediano Ziglio <fziglio@redhat.com>
* worker s/surfaces_dest/surface_depsMarc-André Lureau2015-11-104-23/+23
| | | | | Acked-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* syntax-check: Add missing #include <config.h>Pavel Grunt2015-11-095-0/+19
|
* red_dispatcher: Remove unused signal.h includePavel Grunt2015-11-091-1/+0
|
* worker: group add_memslotMarc-André Lureau2015-11-091-18/+18
| | | | Acked-by: Frediano Ziglio <fziglio@redhat.com>
* worker: remove unused NUM_CURSORS defineMarc-André Lureau2015-11-091-1/+0
| | | | Acked-by: Frediano Ziglio <fziglio@redhat.com>
* worker: make more functions staticMarc-André Lureau2015-11-091-32/+32
| | | | Acked-by: Pavel Grunt <pgrunt@redhat.com>
* worker: remove unused functionMarc-André Lureau2015-11-091-7/+0
| | | | Acked-by: Pavel Grunt <pgrunt@redhat.com>
* worker: rename {put,ref}_red_drawableMarc-André Lureau2015-11-091-9/+9
| | | | Acked-by: Pavel Grunt <pgrunt@redhat.com>
* worker: s/destroy_surface/surface_unrefMarc-André Lureau2015-11-091-26/+28
| | | | Acked-by: Frediano Ziglio <fziglio@redhat.com>
* worker: remove unused parameter from remove_shadowFrediano Ziglio2015-11-091-2/+2
| | | | Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* worker: remove some useless countersMarc-André Lureau2015-11-091-13/+0
| | | | Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* dispatcher: remove receive_data and send_data functionsMarc-André Lureau2015-11-092-35/+3
| | | | | | Use read_safe/write_safe instead which do the same stuff Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* server: create display and cursor channels in RedWorker constructorMarc-André Lureau2015-11-094-100/+48
| | | | | | | | Instead of requiring the dispatcher to send a message to the worker to create the display channel and cursor channel, just create them when the worker is created. Acked-by: Jonathon Jongsma <jjongsma@redhat.com>
* worker: use RED_CHANNEL_CLIENT for dccMarc-André Lureau2015-11-061-52/+53
| | | | Acked-by: Fabiano Fidêncio <fidencio@redhat.com>
* spicevmc: Return early when instance has no device statePavel Grunt2015-11-061-0/+5
| | | | | | | | | | | | | | | | | | | | | | Same approach as in spice_server_char_device_wakeup(). Avoid segmentation fault when the webdav channel (spice port channel) is used with the vnc display: #0 0x00007ffff7aab734 in spice_char_device_state_opaque_get (dev=0x0) at char_device.c:720 #1 0x00007ffff7b0850c in spice_server_port_event (sin=<optimized out>, event=<optimized out>) at spicevmc.c:578 #2 0x0000555555787ba4 in set_guest_connected (port=<optimized out>, guest_connected=1) at hw/char/virtio-console.c:89 #3 0x0000555555678d7c in control_out (len=<optimized out>, buf=0x55555775c3a0, vser=0x5555578d1540) at /home/pgrunt/RH/qemu/hw/char/virtio-serial-bus.c:404 #4 0x0000555555678d7c in control_out (vdev=0x5555578d1540, vq=0x555557941bc8) at /home/pgrunt/RH/qemu/hw/char/virtio-serial-bus.c:441 #5 0x000055555588eb98 in aio_dispatch (ctx=0x5555562e1a50) at aio-posix.c:160 #6 0x00005555558829ee in aio_ctx_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at async.c:226 #7 0x00007ffff2010e3a in g_main_context_dispatch () at /lib64/libglib-2.0.so.0 #8 0x000055555588d8fb in main_loop_wait () at main-loop.c:211 #9 0x000055555588d8fb in main_loop_wait (timeout=<optimized out>) at main-loop.c:256 #10 0x000055555588d8fb in main_loop_wait (nonblocking=<optimized out>) at main-loop.c:504 #11 0x000055555561b664 in main () at vl.c:1891