diff options
author | ajs <ajs> | 2004-12-15 17:41:14 +0000 |
---|---|---|
committer | ajs <ajs> | 2004-12-15 17:41:14 +0000 |
commit | 0a27888b5cad30208f31c423dcd5a6d5394a2ece (patch) | |
tree | 1f20b6cb087e26fcd9657ab713edb6f39c31e32a /lib/sigevent.c | |
parent | b8f7ef9b3161a1c7e60c89790d7b0ca92c81dd58 (diff) | |
download | quagga-0a27888b5cad30208f31c423dcd5a6d5394a2ece.tar.bz2 quagga-0a27888b5cad30208f31c423dcd5a6d5394a2ece.tar.xz |
2004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* sigevent.c: (trap_default_signals) Ignore SIGPIPE instead of exiting.
Diffstat (limited to 'lib/sigevent.c')
-rw-r--r-- | lib/sigevent.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/sigevent.c b/lib/sigevent.c index 53503a7a..5ac226a4 100644 --- a/lib/sigevent.c +++ b/lib/sigevent.c @@ -191,7 +191,6 @@ trap_default_signals(void) static const int exit_signals[] = { SIGHUP, SIGINT, - SIGPIPE, SIGALRM, SIGTERM, SIGUSR1, @@ -206,19 +205,23 @@ trap_default_signals(void) SIGSTKFLT, #endif }; + static const int ignore_signals[] = { + SIGPIPE, + }; static const struct { const int *sigs; - int nsigs; + u_int nsigs; void (*handler)(int); - } sigmap[2] = { + } sigmap[] = { { core_signals, sizeof(core_signals)/sizeof(core_signals[0]),core_handler }, { exit_signals, sizeof(exit_signals)/sizeof(exit_signals[0]),exit_handler }, + { ignore_signals, sizeof(ignore_signals)/sizeof(ignore_signals[0]),SIG_IGN}, }; - int i; + u_int i; - for (i = 0; i < 2; i++) + for (i = 0; i < sizeof(sigmap)/sizeof(sigmap[0]); i++) { - int j; + u_int j; for (j = 0; j < sigmap[i].nsigs; j++) { |