repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 4cc4c29e380b24a0f53d99f702d6678f71a31ff3:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 4cc4c29e380b24a0f53d99f702d6678f71a31ff3
Author: Alexander Barton 
Date:   Thu Jul 1 00:39:35 2010 +0200

    New function Proc_GenericSignalHandler()

diff --git a/src/ngircd/proc.c b/src/ngircd/proc.c
index 5f3cadeb5f7eef30ba99d249f62fe00d2f789abd..
index ..75c1aaf1a0ba6dbfbb2f7abdfd8c91e01c76c8cf 100644
--- a/src/ngircd/proc.c
+++ b/src/ngircd/proc.c
@@ -18,6 +18,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 

 #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- */
diff --git a/src/ngircd/proc.h b/src/ngircd/proc.h
index c342e1dfa568ab17c16eeb236d53a8e83ea15694..
index ..a7bff4f39b79cd5b31e270d524d1f27a89190c5a 100644
--- a/src/ngircd/proc.h
+++ b/src/ngircd/proc.h
@@ -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- */
diff --git a/src/ngircd/resolve.c b/src/ngircd/resolve.c
index e5ac9ec805dc6110c3b75ba9c451d7ae94bdfc94..
index ..f8c39cf7160962c96e523f66143dee96d1931add 100644
--- a/src/ngircd/resolve.c
+++ b/src/ngircd/resolve.c
@@ -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");
 }

-----END OF PAGE-----