forked from Dniel97/segatools
util/async.c: Small locking fix
This commit is contained in:
parent
657367c040
commit
2df92f7492
@ -60,6 +60,8 @@ HRESULT async_submit(struct async *async, struct irp *irp, async_task_t task)
|
||||
return task(async->ctx, irp);
|
||||
}
|
||||
|
||||
EnterCriticalSection(&async->lock);
|
||||
|
||||
if (async->thread == NULL) {
|
||||
/* Ensure our worker thread is running */
|
||||
async->thread = (HANDLE) _beginthreadex(
|
||||
@ -75,8 +77,6 @@ HRESULT async_submit(struct async *async, struct irp *irp, async_task_t task)
|
||||
}
|
||||
}
|
||||
|
||||
EnterCriticalSection(&async->lock);
|
||||
|
||||
while (async->task != NULL) {
|
||||
ok = SleepConditionVariableCS(&async->avail, &async->lock, INFINITE);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user