]> git.puffer.fish Git - mirror/frr.git/commitdiff
2004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
authorajs <ajs>
Wed, 15 Dec 2004 17:41:14 +0000 (17:41 +0000)
committerajs <ajs>
Wed, 15 Dec 2004 17:41:14 +0000 (17:41 +0000)
* sigevent.c: (trap_default_signals) Ignore SIGPIPE instead of exiting.

lib/ChangeLog
lib/sigevent.c

index 4c8e3786ed215f56fffcebd8d6f8d977c3d07665..22f60c24e2bf822ff9e1e0a05a3b04a2adff4389 100644 (file)
@@ -1,3 +1,7 @@
+2004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * sigevent.c: (trap_default_signals) Ignore SIGPIPE instead of exiting.
+
 2004-12-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
        
        * log.c: (zlog_signal,_zlog_assert_failed) Change logging level back to
index 53503a7a9898388d8a275d37aa54db523af069a6..5ac226a4c2cde1db045f1da9c8e267096d6f0665 100644 (file)
@@ -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++)
         {