[PATCH v2 09/13] vireventthread: exit thread synchronously on finalize

Daniel Henrique Barboza danielhb413 at gmail.com
Mon Aug 10 16:37:24 UTC 2020



On 7/23/20 7:14 AM, Nikolay Shirokovskiy wrote:
> It useful to be sure no thread is running after we drop all references to

Nit: "It is useful to ..."


Reviewed-by: Daniel Henrique Barboza <danielhb413 at gmail.com>

> 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 <nshirokovskiy at virtuozzo.com>
> ---
>   src/util/vireventthread.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/src/util/vireventthread.c b/src/util/vireventthread.c
> index cf86592..136a550 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);
>       }
>   
> 




More information about the libvir-list mailing list