These patches start destroying objects upon destruction.
Lot of the objects are just allocated but never freed.
This however make hardier to understand automatically leaks
as objects are still linked together.
Currently spice_server_destroy is not called so objects
are freed only when program ends by the operating system.
These patches allows using automated testing and some memory
leak detectors (Valgrind, address sanitizer or others) to be
used to discover possible leaks.

Changes since v2:
- merged different patches;
- move "Support QXL remove on spice_server_remove_interface"
  at the top;
- added some comments.

Changes since v1:
- removed a merged patch;
- more comments on "red_worker: add RED_WORKER_MESSAGE_CLOSE_WORKER
- avoid a crash if main_dispatcher is not initialized.

Frediano Ziglio (7):
  Add red_qxl_destroy function
  Rearrange object destruction
  Free QXL instances in spice_server_destroy
  replay: Free spice server to detect leaks
  Free replay queues
  Free properly primary surface during replay
  Support QXL remove on spice_server_remove_interface

 server/display-channel.c |  4 ++--
 server/red-qxl.c         | 25 ++++++++++++++++++++++---
 server/red-qxl.h         |  1 +
 server/red-replay-qxl.c  |  6 ++++++
 server/red-worker.c      | 35 ++++++++++++++++++++++++++++++++++-
 server/red-worker.h      |  1 +
 server/reds.c            | 38 ++++++++++++++++++++++++++++----------
 server/tests/replay.c    | 21 ++++++++++++++++++---
 8 files changed, 112 insertions(+), 19 deletions(-)

base-commit: 1f800090ef671e9fccb49ed64c01a85b6eb0890a
git-series 0.9.1
Spice-devel mailing list

Reply via email to