pthreadpool: Add some asserts
[samba.git] / lib / pthreadpool / pthreadpool.c
index 2dfda38f144326a5b7dc89ebcc181dc4cb2112de..92a88c9ca849e7236efde474b4b5dc9561f682ef 100644 (file)
@@ -652,11 +652,13 @@ int pthreadpool_add_job(struct pthreadpool *pool, int job_id,
         * 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.
                 */
@@ -664,7 +666,8 @@ int pthreadpool_add_job(struct pthreadpool *pool, int job_id,
                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;
        }
 
@@ -673,7 +676,8 @@ int pthreadpool_add_job(struct pthreadpool *pool, int job_id,
                /*
                 * 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;
        }