[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