From f4fc3db9204407874181117085756c9ced78adad Mon Sep 17 00:00:00 2001 From: Nikolay Shirokovskiy Date: Thu, 23 Jul 2020 10:23:00 +0300 Subject: [PATCH] vireventthread: exit thread synchronously on finalize MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit It it useful to be sure no thread is running after we drop all references to virEventThread. Otherwise in order to avoid crashes we need to synchronize some other way or we make extra references in event handler callbacks to all the object in use. And some of them are not prepared to be refcounted. Signed-off-by: Nikolay Shirokovskiy Reviewed-by: Daniel Henrique Barboza Reviewed-by: Daniel P. Berrangé --- src/util/vireventthread.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/util/vireventthread.c b/src/util/vireventthread.c index 485672278a..1bca2aa57a 100644 --- a/src/util/vireventthread.c +++ b/src/util/vireventthread.c @@ -43,6 +43,7 @@ vir_event_thread_finalize(GObject *object) if (evt->thread) { g_main_loop_quit(evt->loop); + g_thread_join(evt->thread); g_thread_unref(evt->thread); } -- 2.47.3