Browse Source

Fix data race when `pool_stop_task` is called

Feoramund 11 months ago
parent
commit
c3f363cfbc
1 changed files with 1 additions and 0 deletions
  1. 1 0
      core/thread/thread_pool.odin

+ 1 - 0
core/thread/thread_pool.odin

@@ -60,6 +60,7 @@ pool_thread_runner :: proc(t: ^Thread) {
 		if task, ok := pool_pop_waiting(pool); ok {
 		if task, ok := pool_pop_waiting(pool); ok {
 			data.task = task
 			data.task = task
 			pool_do_work(pool, task)
 			pool_do_work(pool, task)
+			sync.guard(&pool.mutex)
 			data.task = {}
 			data.task = {}
 		}
 		}
 	}
 	}