]> git.puffer.fish Git - matthieu/frr.git/commitdiff
2004-07-13 Greg Troxel <gdt@poblano.ir.bbn.com>
authorgdt <gdt>
Tue, 13 Jul 2004 13:47:25 +0000 (13:47 +0000)
committergdt <gdt>
Tue, 13 Jul 2004 13:47:25 +0000 (13:47 +0000)
* sigevent.c: Don't block SIGTRAP and SIGKILL.  Blocking SIGTRAP
confuses gdb, at least on NetBSD 2.0_BETA, where the block
succeeds.

lib/ChangeLog
lib/sigevent.c

index 6bb039deb4165da202a56763bf2836dda451b541..108a2023b43a1d48d14b097d4f17eec5349f1513 100644 (file)
@@ -1,3 +1,9 @@
+2004-07-13  Greg Troxel  <gdt@poblano.ir.bbn.com>
+
+       * sigevent.c: Don't block SIGTRAP and SIGKILL.  Blocking SIGTRAP
+       confuses gdb, at least on NetBSD 2.0_BETA, where the block
+       succeeds.
+
 2004-07-09 Paul Jakma <paul@dishone.st>
 
        * Merge Kunihiro's 'show route-map' change and add 
index fa5edf4a7a74d6b21e3ac8bd5bfd22a203baf74e..6a2fd80c04a0c179a2585a0c9c7cdfb05fb6512b 100644 (file)
@@ -61,8 +61,15 @@ quagga_signal_timer (struct thread *t)
 
   sigm = THREAD_ARG (t);
   
-  /* block all signals */
+  /*
+   * Block most signals, but be careful not to defer SIGTRAP because
+   * doing so breaks gdb, at least on NetBSD 2.0.  Avoid asking to
+   * block SIGKILL, just because we shouldn't be able to do so.
+   */
   sigfillset (&newmask);
+  sigdelset (&newmask, SIGTRAP);
+  sigdelset (&newmask, SIGKILL);
+
   if ( (sigprocmask (SIG_BLOCK, &newmask, &oldmask)) < 0)
     {
       zlog_err ("quagga_signal_timer: couldnt block signals!");