From: Dmitry Fleytman <dfleytma@xxxxxxxxxx> v4 changeset: changes as suggested by Christophe minor patch set reordering and beautifications v3 changeset: remove spice_g_udev_handle_device_change api cosmetic changes set redirection state at usbdevice manager level remove set_redirecton and set_sensitive_all check for redirection state at check_can_redirect expose mutex to guard all critical sections v2 changeset: fix trailing whitespace fix linux build with usb redirection fix linux build without ussb redirection set redirecting state as gobject property separate commit for widget manipulations commit messages fixes This patchs series makes start/stop USB redirection flows run in their own threads. It solves spice-gtk freeze problems since start and stop redirection are time consuming operations. This series include new api exposure, threads syncronization and new usb redirection widget behavior. When redirection starts/ends widget will turn inactive/active. Dmitry Fleytman (1): UsbDeviceManager: Make synchronous disconnect method static Kirill Moizik (15): UsbDeviceManager: Fix Windows build without USB redirection Usbredir channel: Introduce mutex for USB redirection win-usb-dev: Track device redirection operations in progress GUdevClient: Do not process USB hotplug events while redirection is in progress UsbDeviceManager: move existing code to a separate function usbredir: Protect data accessed by asynchronous redirection flows usbredir: Spawn a different thread for device redirection flow UsbDevicemanager: Track device redirection operations in progress UsbDeviceManager: Move more redirection specific logic under corresponding ifdef UsbDeviceManager: Implement asynchronous disconnect device flow UsbDevicemanager: Track device disconnection operations in progress usbredir: Disconnect USB device asynchronously UsbDeviceWidget: Show info bar during redirection flows UsbDeviceWidget: Consider asynchronous redirection flows UsbDeviceWidget: Use asynchronous disconnect API src/channel-usbredir-priv.h | 8 ++ src/channel-usbredir.c | 133 ++++++++++++++++++++---- src/map-file | 3 +- src/usb-device-manager.c | 247 ++++++++++++++++++++++++++++++++++++-------- src/usb-device-manager.h | 13 ++- src/usb-device-widget.c | 72 ++++++++----- src/win-usb-dev.c | 78 ++++++++++++++ 7 files changed, 463 insertions(+), 91 deletions(-) -- 2.4.3 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel