mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
qemuMonitorTestFree: Join worker thread
Join the worker thread no matter if it is running or zombie already. With current implementation the thread is joined iff @running is true. However, when worker executes the last line, @running is set to false. Hence qemuMonitorTestFree() won't join it (and free resources) even though we can clearly see worker has run (nobody else sets @running = false). Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
555b042016
commit
2d670cd42b
@ -51,6 +51,7 @@ struct _qemuMonitorTest {
|
||||
bool json;
|
||||
bool quit;
|
||||
bool running;
|
||||
bool started;
|
||||
|
||||
char *incoming;
|
||||
size_t incomingLength;
|
||||
@ -354,7 +355,7 @@ qemuMonitorTestFree(qemuMonitorTestPtr test)
|
||||
|
||||
virObjectUnref(test->vm);
|
||||
|
||||
if (test->running)
|
||||
if (test->started)
|
||||
virThreadJoin(&test->thread);
|
||||
|
||||
if (timer != -1)
|
||||
@ -846,7 +847,7 @@ qemuMonitorCommonTestInit(qemuMonitorTestPtr test)
|
||||
virMutexUnlock(&test->lock);
|
||||
goto error;
|
||||
}
|
||||
test->running = true;
|
||||
test->started = test->running = true;
|
||||
virMutexUnlock(&test->lock);
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user