X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;ds=sidebyside;f=src%2Fshared%2Fsig_op.c;h=4ab56418fe27e588fa205f090b74035a419bea35;hb=HEAD;hp=bde3a726179fef69a594ab719d4b03ad395aa49a;hpb=301048b51990573e58a30dc4a5bb4ec285cad554;p=ossec-hids.git diff --git a/src/shared/sig_op.c b/src/shared/sig_op.c old mode 100755 new mode 100644 index bde3a72..4ab5641 --- a/src/shared/sig_op.c +++ b/src/shared/sig_op.c @@ -1,5 +1,3 @@ -/* @(#) $Id$ */ - /* Copyright (C) 2009 Trend Micro Inc. * All right reserved. * @@ -9,47 +7,44 @@ * Foundation */ - -/* Functions to handle signal manipulation - */ +/* Functions to handle signal manipulation */ #ifndef WIN32 #include #include #include +#include #include "sig_op.h" #include "file_op.h" #include "debug_op.h" - #include "error_messages/error_messages.h" -char *pidfile = NULL; +static const char *pidfile = NULL; + -void HandleSIG() +void HandleSIG(int sig) { - merror(SIGNAL_RECV, pidfile); - + merror(SIGNAL_RECV, pidfile, sig, strsignal(sig)); + DeletePID(pidfile); - + exit(1); } /* To avoid client-server communication problems */ -void HandleSIGPIPE() +void HandleSIGPIPE(__attribute__((unused)) int sig) { return; } -void StartSIG(char *process_name) +void StartSIG(const char *process_name) { - /* Signal Manipulation - go to HandleSIG() */ pidfile = process_name; - signal(SIGHUP, SIG_IGN); + signal(SIGHUP, SIG_IGN); signal(SIGINT, HandleSIG); signal(SIGQUIT, HandleSIG); signal(SIGTERM, HandleSIG); @@ -57,7 +52,7 @@ void StartSIG(char *process_name) signal(SIGPIPE, HandleSIGPIPE); } -void StartSIG2(char *process_name, void (*func)(int)) +void StartSIG2(const char *process_name, void (*func)(int)) { pidfile = process_name; @@ -69,5 +64,5 @@ void StartSIG2(char *process_name, void (*func)(int)) signal(SIGPIPE, HandleSIGPIPE); } -#endif -/* EOF */ +#endif /* !WIN32 */ +