[Spice-devel] [PATCH 00/20] Backported patches from refactory branch (April 14)

Jonathon Jongsma jjongsma at redhat.com
Thu Apr 14 21:50:02 UTC 2016


So this is the same series as yesterday, but it is all rebased on Frediano's
patch that makes PipeItem ref-counted (as opposed to introducing a separate
RedPipeItem on top which is ref-counted). Due to this change, we can take
advantage of the base class refcounting for several other PipeItems as well, so
I've added several additional patches which do that. At the end, I do a mass
rename from PipeItem to RedPipeItem and then rename all of the inherited
PipeItem classes to use the Red prefix as well. This is fairly invasive so it
may be best to delay this until after the branch is fully merged -- comments
appreciated.

Note that several of these patches are already ACKed but I'm re-sending the
whole series since everythign was rebased on an early patch that was
significantly changed.


Christophe Fergeau (10):
  Add reference counting to PipeItem class
  reds: Derive VDIPortReadBuf from PipeItem
  smartcard: Use base PipeItem for MsgItem refcounting
  SpiceVmcPipeItem: use base PipeItem for ref counting
  char-device: Replace RedCharDeviceMsgToClient with PipeItem
  char-device: Remove RedCharDeviceClass::{un, }ref_msg_to_client
  Replace RedCharDevice::on_free_self_token with a signal
  Remove use of opaque from vdi_port_read_one_msg_from_device
  Use GQueue for RedCharDevice::send_queue
  Use weak gobject ref instead of reds_on_char_device_state_destroy

Jonathon Jongsma (10):
  dcc: use PipeItem refcounting for ImageItem
  DrawablePipeItem: use base class for refcounting
  StreamClipItem: use base class refcounting
  UpgradeItem: use base PipeItem for refcounting
  dcc: Use refcounting for MonitorsConfigItem
  char-device: notify when device instance is changed
  char device: use 'device' rather than 'state' for var names
  char device: use _reset_dev_instance() to set 'sin'
  Rename PipeItem to RedPipeItem
  Rename all RedPipeItem subclasses

 server/Makefile.am       |   2 +
 server/cache-item.h      |   8 +-
 server/cache-item.tmpl.c |  18 +--
 server/char-device.c     | 172 +++++++++++++---------------
 server/char-device.h     |  19 +---
 server/cursor-channel.c  |  91 ++++++++-------
 server/dcc-send.c        | 181 +++++++++++++++--------------
 server/dcc.c             | 281 ++++++++++++++++++++-------------------------
 server/dcc.h             |  50 ++++----
 server/display-channel.c |  38 +++----
 server/display-channel.h |  56 ++++-----
 server/inputs-channel.c  |  66 +++++------
 server/main-channel.c    | 291 ++++++++++++++++++++++++-----------------------
 server/red-channel.c     |  93 +++++++--------
 server/red-channel.h     |  53 ++++-----
 server/red-pipe-item.c   |  53 +++++++++
 server/red-pipe-item.h   |  46 ++++++++
 server/red-worker.h      |  18 +--
 server/reds.c            | 150 ++++++++++++------------
 server/reds.h            |   1 -
 server/smartcard.c       | 124 +++++++++-----------
 server/spicevmc.c        | 120 ++++++++-----------
 server/stream.c          |  62 ++++++----
 server/stream.h          |  22 ++--
 24 files changed, 999 insertions(+), 1016 deletions(-)
 create mode 100644 server/red-pipe-item.c
 create mode 100644 server/red-pipe-item.h

-- 
2.4.11



More information about the Spice-devel mailing list