summaryrefslogtreecommitdiff
path: root/lib/pthreadpool
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2017-12-12 23:07:39 +0100
committerKarolin Seeger <kseeger@samba.org>2017-12-13 10:06:23 +0100
commit61140f4b47488018ec3d505a390f55640dd724d8 (patch)
treea82161496b81a379cd7742fe5e7eeb4d8e7f175e /lib/pthreadpool
parent086b45389fe825f461f04de00b90c98ff5f335b9 (diff)
downloadsamba-61140f4b47488018ec3d505a390f55640dd724d8.tar.gz
pthreadpool: Fix deadlock
Christof's idea from https://lists.samba.org/archive/samba-technical/2017-December/124384.html was that the thread already exited. It could also be that the thread is not yet idle when the new pthreadpool_add_jobs comes around the corner. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Christof Schmitt <cs@samba.org> Autobuild-User(master): Christof Schmitt <cs@samba.org> Autobuild-Date(master): Wed Dec 13 04:46:12 CET 2017 on sn-devel-144 (cherry picked from commit dfc4670640341761b346065922a62a3e755e9e58) BUG: https://bugzilla.samba.org/show_bug.cgi?id=13170
Diffstat (limited to 'lib/pthreadpool')
-rw-r--r--lib/pthreadpool/tests_cmocka.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/pthreadpool/tests_cmocka.c b/lib/pthreadpool/tests_cmocka.c
index 75a935fa42c..9753d212e1c 100644
--- a/lib/pthreadpool/tests_cmocka.c
+++ b/lib/pthreadpool/tests_cmocka.c
@@ -28,6 +28,7 @@
#include <pthreadpool_tevent.h>
#include <cmocka.h>
+#include <poll.h>
struct pthreadpool_tevent_test {
struct tevent_context *ev;
@@ -152,6 +153,8 @@ static void test_create(void **state)
assert_return_code(ret, 0);
assert_false(in_main_thread);
+ poll(NULL, 0, 10);
+
/*
* Workerthread will still be active for a second; immediately
* running another job will also use the worker thread, even