[Spice-devel] [PATCH v4 00/16] Make start and stop usb redirection asynchronous

Dmitry Fleytman dmitry at daynix.com
Sun Aug 16 05:35:37 PDT 2015


From: Dmitry Fleytman <dfleytma at redhat.com>

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



More information about the Spice-devel mailing list