Make fatal signals cause an exit more promptly in special cases.
authorBen Pfaff <blp@nicira.com>
Tue, 13 Apr 2010 16:28:13 +0000 (09:28 -0700)
committerBen Pfaff <blp@nicira.com>
Tue, 13 Apr 2010 16:30:32 +0000 (09:30 -0700)
commitb302749b70bd8b487bdfe0ffcdacbf730da8b6ca
treedc528b241a3bbe9d9b8fab762c614af4ae55bc36
parent9888b1b43ba258e7842100799406f57392c76db7
Make fatal signals cause an exit more promptly in special cases.

The fatal-signal library notices and records fatal signals (e.g. SIGTERM)
and terminates the process on the next trip through poll_block().  But
some special utilities do not always invoke poll_block() promptly, e.g.
"ovs-ofctl monitor" does not call poll_block() as long as OpenFlow messages
are available.  But these special cases seem like they are all likely to
call into functions that themselves block (those with "_block" in their
names).  So make a new rule that such functions should always call
fatal_signal_run(), either directly or through poll_block().  This commit
implements and documents that rule.

Bug #2625.
lib/fatal-signal.c
lib/jsonrpc.c
lib/ovsdb-idl.c
lib/stream.c
lib/vconn.c