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(-)
Spice-devel mailing list