* Add job to the end of the queue
*/
if (!pthreadpool_put_job(pool, job_id, fn, private_data)) {
- pthread_mutex_unlock(&pool->mutex);
+ res = pthread_mutex_unlock(&pool->mutex);
+ assert(res == 0);
return ENOMEM;
}
if (pool->num_idle > 0) {
+ int unlock_res;
/*
* We have idle threads, wake one.
*/
if (res != 0) {
pthreadpool_undo_put_job(pool);
}
- pthread_mutex_unlock(&pool->mutex);
+ unlock_res = pthread_mutex_unlock(&pool->mutex);
+ assert(unlock_res == 0);
return res;
}
/*
* No more new threads, we just queue the request
*/
- pthread_mutex_unlock(&pool->mutex);
+ res = pthread_mutex_unlock(&pool->mutex);
+ assert(res == 0);
return 0;
}