[quagga-dev 1361] Re: signal handling breaks gdb on NetBSD - fixed in CVS
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