/* The procedure is assumed to encode result + success/failure
* via its param.
*/
- work->workData.procData.proc(work->workData.procData.param);
- errCode=0;
+ errCode=work->workData.procData.proc(work->workData.procData.param);
} else {
errCode=1;
}
#endif
if ( ioMan->workersIdle == 0 ) {
ioMan->numWorkers++;
+ LeaveCriticalSection(&ioMan->manLock);
NewIOWorkerThread(ioMan);
+ } else {
+ LeaveCriticalSection(&ioMan->manLock);
}
- LeaveCriticalSection(&ioMan->manLock);
if (SubmitWork(ioMan->workQueue,wItem)) {
return wItem->requestID;
wItem->requestID = ioMan->requestID++;
EnterCriticalSection(&ioMan->manLock);
+#if 0
+ fprintf(stderr, "AddDelayRequest: %d\n", ioMan->workersIdle); fflush(stderr);
+#endif
if ( ioMan->workersIdle == 0 ) {
ioMan->numWorkers++;
+ LeaveCriticalSection(&ioMan->manLock);
NewIOWorkerThread(ioMan);
+ } else {
+ LeaveCriticalSection(&ioMan->manLock);
}
- LeaveCriticalSection(&ioMan->manLock);
if (SubmitWork(ioMan->workQueue,wItem)) {
return wItem->requestID;
wItem->requestID = ioMan->requestID++;
EnterCriticalSection(&ioMan->manLock);
+#if 0
+ fprintf(stderr, "AddProcRequest: %d\n", ioMan->workersIdle); fflush(stderr);
+#endif
if ( ioMan->workersIdle == 0 ) {
ioMan->numWorkers++;
+ LeaveCriticalSection(&ioMan->manLock);
NewIOWorkerThread(ioMan);
+ } else {
+ LeaveCriticalSection(&ioMan->manLock);
}
- LeaveCriticalSection(&ioMan->manLock);
if (SubmitWork(ioMan->workQueue,wItem)) {
return wItem->requestID;