Go to file
Victor Toso acda160767 channel-main: avoid race around file-transfer flush
This patch avoids a race condition. The race happens when we mark the
xfer-task as completed by receiving VD_AGENT_FILE_XFER_STATUS_SUCCESS
message while the flush callback was not yet called.

The flush callback is file_xfer_data_flushed_cb() and it might not be
called immediately after data is flushed.

The race can be verified while transferring several small files at
once. I can see it often with more then 50 files in one transfer
operation.

This fix implies that SpiceMainChannel should check in its async
callbacks if given SpiceFileTransferTask is completed.

This patch introduces spice_file_transfer_task_is_completed (internal)
to help check if spice_file_transfer_task_completed() was called or
not.

Acked-by: Christophe Fergeau <cfergeau@redhat.com>
2016-08-03 15:27:44 +02:00
build-aux Generate ChangeLog and ship it in the tarball 2012-01-15 22:07:05 +01:00
data Remove unmaintained spicy.nsis 2015-12-08 14:11:49 +01:00
doc doc: fix unused warning 2016-07-07 18:11:12 +02:00
m4 build-sys: update manywarnings.m4 2016-06-01 11:05:55 +02:00
man Add man page 2014-04-08 13:31:00 +02:00
po Adjust to GLib 2.36 2016-03-18 11:42:31 +01:00
spice-common@62f3024f42 configure: Add ${top_builddir}/spice-common to COMMON_CFLAGS 2016-07-14 08:56:33 -03:00
src channel-main: avoid race around file-transfer flush 2016-08-03 15:27:44 +02:00
tests test-file-transfer: Don't leak GError 2016-08-03 15:27:27 +02:00
vapi Drop GTK+ 2.0 2016-03-14 12:02:52 +01:00
.gitmodules Make phodav an optional external dependency 2014-04-02 13:52:30 +02:00
.mailmap mailmap: fix my name 2016-06-21 14:37:00 +02:00
AUTHORS Release 0.8 2012-01-15 22:07:05 +01:00
autogen.sh build-sys: simplify autogen.sh 2014-12-01 13:28:09 +01:00
configure.ac configure: Add ${top_builddir}/spice-common to COMMON_CFLAGS 2016-07-14 08:56:33 -03:00
COPYING Initial import from SPICE 2010-11-23 17:00:17 +01:00
git.mk build-sys: update git.mk 2014-12-06 00:00:19 +01:00
Makefile.am Drop GTK+ 2.0 2016-03-14 12:02:52 +01:00
NEWS Update NEWS for 0.32 release 2016-06-21 16:11:55 +02:00
README Update README 2016-05-31 12:01:53 +02:00
spice-client-glib-2.0.pc.in build: move @SPICE_GLIB_REQUIRES@ to Requires.private 2012-03-07 21:07:20 +01:00
spice-client-gtk-3.0.pc.in build: fix .pc Requires 2011-07-16 15:47:37 +02:00
spice-controller.pc.in gtk/controller: install spice-controller library 2011-04-10 00:46:52 +02:00
TODO TODO: update 2015-06-08 17:38:57 +02:00

spice-gtk
=========

A Gtk client and libraries for SPICE remote desktop servers.

Please report bugs at: spice-devel@lists.freedesktop.org

Project content
---------------

libspice-client-glib-2.0
   provides glib objects for spice protocol decoding and surface rendering.
      * SpiceSession (see spice-session.h).
      * SpiceChannel (see spice-channel.h).
      * SpiceAudio (see spice-audio.h).
      * Various Spice<Type>Channel (see channel-<type>.h).

libspice-client-gtk-3.0
   provides gtk widget to show spice display and accept user input.
      * SpiceDisplay (see spice-widget.h)

spicy
   a gtk test client. The recommended client for end user is
   virt-viewer (http://git.fedorahosted.org/cgit/virt-viewer.git/)

spicy-screenshot
   Command line tool, connects to spice server and writes out a
   screen shot.

spicy-stats
   Command line tool, connects to spice server and writes out a
   summary of connection details, amount of bytes transferred...

SpiceClientGlib and SpiceClientGtk GObject-introspection modules.

Build dependencies:
------------------

. On Fedora use:

dnf builddep spice-gtk

. or install:

gtk3-devel spice-protocol intltool
openssl-devel pulseaudio-libs-devel pixman-devel
gobject-introspection-devel libjpeg-turbo-devel zlib-devel
cyrus-sasl-devel gtk-doc

. The GStreamer backend needs:

gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-plugins-good gstreamer1-plugins-bad-free

. If you build from git, you'll also need:

libtool automake vala vala-tools perl-Text-CSV