|
@@ -71,8 +71,6 @@ static void *iothread_run(void *opaque)
|
|
g_main_loop_unref(loop);
|
|
g_main_loop_unref(loop);
|
|
|
|
|
|
g_main_context_pop_thread_default(iothread->worker_context);
|
|
g_main_context_pop_thread_default(iothread->worker_context);
|
|
- g_main_context_unref(iothread->worker_context);
|
|
|
|
- iothread->worker_context = NULL;
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -117,6 +115,10 @@ static void iothread_instance_finalize(Object *obj)
|
|
IOThread *iothread = IOTHREAD(obj);
|
|
IOThread *iothread = IOTHREAD(obj);
|
|
|
|
|
|
iothread_stop(iothread);
|
|
iothread_stop(iothread);
|
|
|
|
+ if (iothread->worker_context) {
|
|
|
|
+ g_main_context_unref(iothread->worker_context);
|
|
|
|
+ iothread->worker_context = NULL;
|
|
|
|
+ }
|
|
qemu_cond_destroy(&iothread->init_done_cond);
|
|
qemu_cond_destroy(&iothread->init_done_cond);
|
|
qemu_mutex_destroy(&iothread->init_done_lock);
|
|
qemu_mutex_destroy(&iothread->init_done_lock);
|
|
if (!iothread->ctx) {
|
|
if (!iothread->ctx) {
|