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

Reply via email to