Просмотр исходного кода

* Changed some signal stuff

svn: 708
Bryan Drewery 22 лет назад
Родитель
Сommit
1af1cc7ee8
1 измененных файлов с 15 добавлено и 42 удалено
  1. 15 42
      src/debug.c

+ 15 - 42
src/debug.c

@@ -268,22 +268,6 @@ static void got_cont(int z)
 }
 #endif
 
-static void got_quit(int z)
-{
-  putlog(LOG_MISC, "*", STR("RECEIVED QUIT SIGNAL (IGNORING)"));
-  return;
-}
-
-static void got_hup(int z)
-{
-#ifdef HUB
-  write_userfile(-1);
-#endif
-  putlog(LOG_MISC, "*", STR("Received HUP signal: rehashing..."));
-  do_restart = -2;
-  return;
-}
-
 /* A call to resolver (gethostbyname, etc) timed out
  */
 static void got_alarm(int z)
@@ -306,42 +290,31 @@ static void got_ill(int z)
 
 void init_signals() 
 {
+#ifdef SA_RESETHAND
   struct sigaction sv;
 
   /* Set up error traps: */
   sv.sa_handler = got_bus;
   sigemptyset(&sv.sa_mask);
-#ifdef SA_RESETHAND
   sv.sa_flags = SA_RESETHAND;
-#else
-  sv.sa_flags = 0;
-#endif
   sigaction(SIGBUS, &sv, NULL);
+
   sv.sa_handler = got_segv;
   sigaction(SIGSEGV, &sv, NULL);
-#ifdef SA_RESETHAND
-  sv.sa_flags = 0;
-#endif
-  sv.sa_handler = got_fpe;
-  sigaction(SIGFPE, &sv, NULL);
-  sv.sa_handler = got_term;
-  sigaction(SIGTERM, &sv, NULL);
+#else /* !SA_RESETHAND */
+  signal(SIGBUS, got_bus);
+  signal(SIGSEGV, got_segv);
+#endif /* SA_RESETHAND */
+
+  signal(SIGFPE, got_fpe);
+  signal(SIGTERM, got_term);
 #ifdef S_HIJACKCHECK
-  sv.sa_handler = got_cont;
-  sigaction(SIGCONT, &sv, NULL);
-#endif
-  sv.sa_handler = got_abort;
-  sigaction(SIGABRT, &sv, NULL);
-  sv.sa_handler = got_hup;
-  sigaction(SIGHUP, &sv, NULL);
-  sv.sa_handler = got_quit;
-  sigaction(SIGQUIT, &sv, NULL);
-  sv.sa_handler = SIG_IGN;
-  sigaction(SIGPIPE, &sv, NULL);
-  sv.sa_handler = got_ill;
-  sigaction(SIGILL, &sv, NULL);
-  sv.sa_handler = got_alarm;
-  sigaction(SIGALRM, &sv, NULL);
+  signal(SIGCONT, got_cont);
+#endif /* S_HIJACKCHECK */
+  signal(SIGABRT, got_abort);
+  signal(SIGPIPE, SIG_IGN);
+  signal(SIGILL, got_ill);
+  signal(SIGALRM, got_alarm);
 }
 
 #ifdef DEBUG_CONTEXT