VPP-525: multi-thread case binary API post-mortem dump AWOL
authorDave Barach <[email protected]>
Tue, 20 Dec 2016 17:48:14 +0000 (12:48 -0500)
committerDamjan Marion <[email protected]>
Tue, 20 Dec 2016 19:07:04 +0000 (19:07 +0000)
root cause: blocking all signals in worker threads

Change-Id: Ife0a5f04be0648fab84e493f203e79ba94890052
Signed-off-by: Dave Barach <[email protected]>
vlib/vlib/threads.c

index 27b622f..c5e58bc 100644 (file)
@@ -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);