1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-07 17:28:15 +00:00

libvirtd: avoid false-positive NULL-deref warning from clang

* daemon/libvirtd.c (qemudWorker): Rewrite loop to silence a
warning.
This commit is contained in:
Eric Blake 2010-03-01 11:59:43 -07:00 committed by Jim Meyering
parent e749d77619
commit 66d70a8f66

View File

@ -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;
}