]> arthur.barton.de Git - ngircd-alex.git/commitdiff
New function Proc_GenericSignalHandler()
authorAlexander Barton <alex@barton.de>
Wed, 30 Jun 2010 22:39:35 +0000 (00:39 +0200)
committerAlexander Barton <alex@barton.de>
Wed, 30 Jun 2010 22:39:35 +0000 (00:39 +0200)
src/ngircd/proc.c
src/ngircd/proc.h
src/ngircd/resolve.c

index 5f3cadeb5f7eef30ba99d249f62fe00d2f789abd..75c1aaf1a0ba6dbfbb2f7abdfd8c91e01c76c8cf 100644 (file)
@@ -18,6 +18,7 @@
 #include <errno.h>
 #include <signal.h>
 #include <string.h>
+#include <stdlib.h>
 #include <unistd.h>
 
 #include "log.h"
@@ -99,4 +100,19 @@ Proc_Kill(PROC_STAT *proc)
        Proc_InitStruct(proc);
 }
 
+/**
+ * Generic signal handler for forked child processes.
+ */
+GLOBAL void
+Proc_GenericSignalHandler(int Signal)
+{
+       switch(Signal) {
+       case SIGTERM:
+#ifdef DEBUG
+               Log_Subprocess(LOG_DEBUG, "Child got TERM signal, exiting.");
+#endif
+               exit(1);
+       }
+}
+
 /* -eof- */
index c342e1dfa568ab17c16eeb236d53a8e83ea15694..a7bff4f39b79cd5b31e270d524d1f27a89190c5a 100644 (file)
@@ -30,6 +30,8 @@ GLOBAL pid_t Proc_Fork PARAMS((PROC_STAT *proc, int *pipefds,
 
 GLOBAL void Proc_Kill PARAMS((PROC_STAT *proc));
 
+GLOBAL void Proc_GenericSignalHandler PARAMS((int Signal));
+
 #endif
 
 /* -eof- */
index e5ac9ec805dc6110c3b75ba9c451d7ae94bdfc94..f8c39cf7160962c96e523f66143dee96d1931add 100644 (file)
@@ -108,29 +108,13 @@ Resolve_Name( PROC_STAT *s, const char *Host, void (*cbfunc)(int, short))
 } /* Resolve_Name */
 
 
-/**
- * Signal handler for the forked resolver subprocess.
- */
-static void
-Signal_Handler(int Signal)
-{
-       switch(Signal) {
-       case SIGTERM:
-#ifdef DEBUG
-               Log_Subprocess(LOG_DEBUG, "Resolver: Got TERM signal, exiting.");
-#endif
-               exit(1);
-       }
-}
-
-
 /**
  * Initialize forked resolver subprocess.
  */
 static void
 Init_Subprocess(void)
 {
-       signal(SIGTERM, Signal_Handler);
+       signal(SIGTERM, Proc_GenericSignalHandler);
        Log_Init_Subprocess("Resolver");
 }