1
0
mirror of https://gitea.tendokyu.moe/Dniel97/segatools.git synced 2024-11-27 14:30:49 +01:00

util/async.c: Small locking fix

This commit is contained in:
Tau 2019-03-16 12:47:55 -04:00
parent 657367c040
commit 2df92f7492

View File

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