repo: ngircd action: commit revision: path_from: revision_from: 4cc4c29e380b24a0f53d99f702d6678f71a31ff3: path_to: revision_to:
commit 4cc4c29e380b24a0f53d99f702d6678f71a31ff3 Author: Alexander BartonDate: Thu Jul 1 00:39:35 2010 +0200 New function Proc_GenericSignalHandler() diff --git a/src/ngircd/proc.c b/src/ngircd/proc.c
--- 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
--- 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
--- 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-----