test_threadpool: Wait for each task to complete and fix memory leak.

This change makes the thread_timeout_thrash unit test wait for
each task to complete. This fixes the problem where the test would
prematurely end when all threads were gone and a new one had to be
started to handle the last task. It also increases the thrasing as
it is now more likely for each task to encounter the above scenario.

This also fixes a memory leak where the data for each task was not
being freed.

ASTERISK-25611 #close

Change-Id: I5017d621a4dc911f509074c16229b86bff2fb3c6
changes/52/2052/1
Joshua Colp 9 years ago
parent ecfc3ed157
commit 9fa76ba215

@ -636,6 +636,14 @@ AST_TEST_DEFINE(threadpool_thread_timeout_thrash)
ast_mutex_unlock(&tld->lock);
ast_threadpool_push(pool, simple_task, std);
res = wait_for_completion(test, std);
ast_free(std);
if (res == AST_TEST_FAIL) {
goto end;
}
}
res = wait_until_thread_state(test, tld, 0, 0);

Loading…
Cancel
Save