[quagga-dev 1361] Re: signal handling breaks gdb on NetBSD - fixed in CVS

Greg Troxel gdt at ir.bbn.com
Thu Jul 15 12:21:51 BST 2004

without blocking, we need to be careful about ordering, esp. with two
variables, so this could use comments.

I had meant to check the master flag at return from select to get
promptness, rather than avoiding the for loop over memory.  IMHO it's
annoying to send a SIGTERM and have it take 2 seconds to exit; there
is no good reason why it shouldn't be prompt.  This has actually
caused me grief - I have a script to send sigterms, wait and then
restart everything.  Daemons were failing to restart because the old
one hadn't exited yet.

I don't see that it is safe to assume sig_atomic_t can be incremented,
unless POSIX says so, but perhaps all we care about that is that it
ends up non-zero.  We could assign 1 to it instead, since we aren't
counting, and that seems safer, not needing a load/store on risc
architectures or a RMW cycle on CISC.

I'd leave the blocking code ifdef 0 for now; we may need to add a
configure test to enable it later.

More information about the Quagga-dev mailing list