mirror of
https://github.com/odin-lang/Odin.git
synced 2025-12-30 01:44:36 +00:00
Correct race condition and incorrect usage of condition_signal outside of a mutex lock
This commit is contained in:
@@ -93,8 +93,8 @@ bool thread_pool_add_task(ThreadPool *pool, WorkerTaskProc *proc, void *data) {
|
||||
thread_pool_queue_push(pool, task);
|
||||
GB_ASSERT(pool->ready >= 0);
|
||||
pool->ready++;
|
||||
mutex_unlock(&pool->mutex);
|
||||
condition_signal(&pool->task_cond);
|
||||
mutex_unlock(&pool->mutex);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user