diff options
author | Dave Barach <dave@barachs.net> | 2016-12-20 12:48:14 -0500 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2016-12-20 19:07:04 +0000 |
commit | fdf494439b04d3a498aa488f0b407c1a2346262f (patch) | |
tree | bc938c69d300943ff7cdab01070a8045e0f507b6 | |
parent | 767b2f59a85d7b80a5dc597363261e0b181601bf (diff) |
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 <dave@barachs.net>
-rw-r--r-- | vlib/vlib/threads.c | 15 |
1 files changed, 9 insertions, 6 deletions
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); |