[PATCH v5 00/13] Make start and stop usb redirection asynchronous

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Changes since v4:

- changes and simplifications as suggested by Christophe
- rebased to the latest master

Changes since v3:

- changes as suggested by Christophe
- minor patch set reordering and beautifications

Changes since v2:

- 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

Changes since v1:

- 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 patch 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 (12):
  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
  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: 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      | 126 +++++++++++++++++++++++++-----
 src/map-file                |   3 +-
 src/usb-device-manager.c    | 181 +++++++++++++++++++++++++++++++++++++++-----
 src/usb-device-manager.h    |  13 +++-
 src/usb-device-widget.c     |  72 ++++++++++++------
 src/win-usb-dev.c           |  78 +++++++++++++++++++
 7 files changed, 415 insertions(+), 66 deletions(-)

-- 
2.4.3

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]