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.
diff --git a/lib/sigevent.c b/lib/sigevent.c
index fa5edf4..6a2fd80 100644
--- a/lib/sigevent.c
+++ b/lib/sigevent.c
@@ -61,8 +61,15 @@
 
   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!");