Release our hold on raidPtr if we're going to sleep.

This commit is contained in:
oster 2002-09-15 23:40:40 +00:00
parent 4c3ae4bbc8
commit 8c2b691d7a
1 changed files with 7 additions and 3 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: rf_engine.c,v 1.16 2002/09/14 17:53:59 oster Exp $ */
/* $NetBSD: rf_engine.c,v 1.17 2002/09/15 23:40:40 oster Exp $ */
/*
* Copyright (c) 1995 Carnegie-Mellon University.
* All rights reserved.
@ -55,7 +55,7 @@
****************************************************************************/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: rf_engine.c,v 1.16 2002/09/14 17:53:59 oster Exp $");
__KERNEL_RCSID(0, "$NetBSD: rf_engine.c,v 1.17 2002/09/15 23:40:40 oster Exp $");
#include "rf_threadstuff.h"
@ -802,8 +802,12 @@ DAGExecutionThread(RF_ThreadArg_t arg)
DO_LOCK(raidPtr);
}
while (!raidPtr->shutdown_engine && raidPtr->node_queue == NULL)
while (!raidPtr->shutdown_engine &&
raidPtr->node_queue == NULL) {
DO_UNLOCK(raidPtr);
DO_WAIT(raidPtr);
DO_LOCK(raidPtr);
}
}
DO_UNLOCK(raidPtr);