[Spice-devel] [PATCH spice-server 00/10] RedChannel vfunc follow up

Frediano Ziglio fziglio at redhat.com
Wed Mar 20 09:59:09 UTC 2019


Yesterday evening me and Jonathon discussed about his patches
for RedChannel vfuncs.

We agreed that the function should be vfuncs however the
patches didn't seem really great to me so we discussed
different reasons.

Came out with this series which is working pretty well.

Probably I should add some comments/documentation in the
code too, some changes:
- RedChannel allows to be associated with a Dispatcher
  that will be used if the channel is run in different
  thread;
- Dispatcher allows to manage not registered events
  (used to avoid allocating multiple dispatchers for
  a thread and reuse for instance RedWorker ones in
  RedChannel);
- Jonathon original patches get rebased into the series,
  first patch went away, second got integrated
  encapsulating better DisplayChannel.

Some patches are style/preparation.

Currently Gitlab CI is experiencing some issues but
yesterday executions were fine and my tests seems
to work correctly.

Frediano Ziglio (9):
  dispatcher: Use NULL for pointer check
  dispatcher: Allows to manage message without registering them
  main-dispatcher: Remove main_dispatcher_self_handle_channel_event
  main-dispatcher: Use reds as opaque for dispatcher
  main-dispatcher: Use dispatcher_send_message_generic
  Move thread/dispatching handling to RedChannel
  Propagate running property from RedWorker to DisplayChannel
  Move DisplayChannel callbacks from RedWorker to DisplayChannel
  Make some function static

Jonathon Jongsma (1):
  Make channel client callbacks virtual functions

 server/cursor-channel.c          |  19 ++-
 server/cursor-channel.h          |  14 +--
 server/dispatcher.c              |  73 ++++++++----
 server/dispatcher.h              |  15 +++
 server/display-channel-private.h |   1 +
 server/display-channel.c         | 125 ++++++++++++++++++++
 server/display-channel.h         |   3 +
 server/inputs-channel.c          |   9 +-
 server/main-channel.c            |   7 +-
 server/main-dispatcher.c         |  67 +++--------
 server/red-channel.c             | 139 ++++++++++++++++++----
 server/red-channel.h             |  19 ++-
 server/red-qxl.c                 | 110 +-----------------
 server/red-replay-qxl.c          |   3 -
 server/red-stream-device.c       |   7 +-
 server/red-worker.c              | 192 +------------------------------
 server/red-worker.h              |  46 ++------
 server/smartcard.c               |   6 +-
 server/sound.c                   |  18 ++-
 server/spicevmc.c                |   7 +-
 server/stream-channel.c          |   5 +-
 server/tests/test-channel.c      |  13 +--
 22 files changed, 389 insertions(+), 509 deletions(-)

-- 
2.20.1



More information about the Spice-devel mailing list