Move monitor object unreference from virCHStartEventHandler to virCHEventHandlerLoop. Put VM unreference after debug print in virCHEventHandlerLoop.
Signed-off-by: Kirill Shchetiniuk <kshch...@redhat.com> --- src/ch/ch_events.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ch/ch_events.c b/src/ch/ch_events.c index 1cce30836a..20e7fbd705 100644 --- a/src/ch/ch_events.c +++ b/src/ch/ch_events.c @@ -286,9 +286,10 @@ virCHEventHandlerLoop(void *data) } } - g_clear_pointer(&mon->event_buffer.buffer, g_free); - virObjectUnref(vm); + g_clear_pointer(&(mon->event_buffer.buffer), g_free); VIR_DEBUG("%s: Event handler loop thread exiting", vm->def->name); + virObjectUnref(vm); + virObjectUnref(mon); return; } @@ -308,7 +309,6 @@ virCHStartEventHandler(virCHMonitor *mon) virObjectUnref(mon); return -1; } - virObjectUnref(mon); g_atomic_int_set(&mon->event_handler_stop, 0); return 0; -- 2.48.1