
Eric Blake wrote:
* daemon/libvirtd.c (qemudWorker): Rewrite loop to silence a warning. ---
Here's the rewrite in patch form.
daemon/libvirtd.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c index 9bdbecb..9e16883 100644 --- a/daemon/libvirtd.c +++ b/daemon/libvirtd.c @@ -1502,16 +1502,15 @@ static void *qemudWorker(void *data) struct qemud_client_message *msg;
virMutexLock(&server->lock); - while (((client = qemudPendingJob(server)) == NULL) && - !worker->quitRequest) { - if (virCondWait(&server->job, &server->lock) < 0) { + while ((client = qemudPendingJob(server)) == NULL) { + if (worker->quitRequest || + virCondWait(&server->job, &server->lock) < 0) { virMutexUnlock(&server->lock); return NULL; } } if (worker->quitRequest) { - if (client) - virMutexUnlock(&client->lock); + virMutexUnlock(&client->lock); virMutexUnlock(&server->lock); return NULL; }
That's just what I'd tested. ACK. Thanks again. I'll push this tomorrow if no one beats me to it.