diff --git a/src/libs/util/bongothreadpool.c b/src/libs/util/bongothreadpool.c index 208314c..bf48f8d 100644 --- a/src/libs/util/bongothreadpool.c +++ b/src/libs/util/bongothreadpool.c @@ -191,10 +191,6 @@ BongoThreadPoolAddWork(BongoThreadPool *pool, pool->head = item; } - XplMutexUnlock(pool->lock); - - XplSignalLocalSemaphore(pool->todo); - /* Possibly spawn a worker */ if (spawnThread && (pool->total < pool->maximum)) { XplThreadID id; @@ -204,6 +200,9 @@ BongoThreadPoolAddWork(BongoThreadPool *pool, ret = 0; } + XplMutexUnlock(pool->lock); + XplSignalLocalSemaphore(pool->todo); + return ret; }