From fdf494439b04d3a498aa488f0b407c1a2346262f Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Tue, 20 Dec 2016 12:48:14 -0500 Subject: VPP-525: multi-thread case binary API post-mortem dump AWOL root cause: blocking all signals in worker threads Change-Id: Ife0a5f04be0648fab84e493f203e79ba94890052 Signed-off-by: Dave Barach --- vlib/vlib/threads.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'vlib') diff --git a/vlib/vlib/threads.c b/vlib/vlib/threads.c index 27b622f5137..c5e58bc001a 100644 --- a/vlib/vlib/threads.c +++ b/vlib/vlib/threads.c @@ -472,12 +472,15 @@ vlib_worker_thread_init (vlib_worker_thread_t * w) { vlib_thread_main_t *tm = vlib_get_thread_main (); - /* worker threads wants no signals. */ - { - sigset_t s; - sigfillset (&s); - pthread_sigmask (SIG_SETMASK, &s, 0); - } + /* + * Note: disabling signals in worker threads as follows + * prevents the api post-mortem dump scheme from working + * { + * sigset_t s; + * sigfillset (&s); + * pthread_sigmask (SIG_SETMASK, &s, 0); + * } + */ clib_mem_set_heap (w->thread_mheap); -- cgit 1.2.3-korg