[quagga-dev 1352] signal handling breaks gdb on NetBSD - fixed in CVS
gdt at ir.bbn.com
Tue Jul 13 14:56:11 BST 2004
Another person at BBN had trouble running gdb on ospfd. gdb would
intermittently lock up.
After running gdb on gdb, I determined that breakpoints seemed to
occur in the sigprocmask14 system call, not at the requested point.
In lib/sigevent.c:quagga_signal_timer, all signals are blocked while
signal handlers are run. (I'm not sure why this is necessary, but I'm
probably missing something.) Even SIGTRAP is blocked, and on NetBSD
2.0_BETA2 this seems to work - even for breakpoints. The sigprocmask
man page says:
The system quietly disallows SIGKILL or SIGSTOP to be blocked.
I have committed a change to quagga_signal_timer to refrain from
blocking SIGTRAP. This should either help people with gdb or be
I'm curious if others have had trouble with gdb.
Greg Troxel <gdt at ir.bbn.com>
More information about the Quagga-dev