From: Thomas Guyot-Sionnest Date: Wed, 25 Mar 2009 01:40:06 +0000 (-0400) Subject: Make socket alarm handler customisable (like c459ca07) X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=386b791af2a5c9d95531d2ca047dd8ffc12bcb2e;p=nagiosplug.git Make socket alarm handler customisable (like c459ca07) --- diff --git a/plugins/netutils.c b/plugins/netutils.c index 6082cae..1d6100a 100644 --- a/plugins/netutils.c +++ b/plugins/netutils.c @@ -32,7 +32,6 @@ #include "common.h" #include "netutils.h" -unsigned int socket_timeout = DEFAULT_SOCKET_TIMEOUT; int econn_refuse_state = STATE_CRITICAL; int was_refused = FALSE; #if USE_IPV6 @@ -46,11 +45,11 @@ void socket_timeout_alarm_handler (int sig) { if (sig == SIGALRM) - printf (_("CRITICAL - Socket timeout after %d seconds\n"), socket_timeout); + printf (_("%s - Socket timeout after %d seconds\n"), state_text(socket_timeout_state), socket_timeout); else - printf (_("CRITICAL - Abnormal timeout after %d seconds\n"), socket_timeout); + printf (_("%s - Abnormal timeout after %d seconds\n"), state_text(socket_timeout_state), socket_timeout); - exit (STATE_CRITICAL); + exit (socket_timeout_state); } diff --git a/plugins/netutils.h b/plugins/netutils.h index 6bc5386..b479b74 100644 --- a/plugins/netutils.h +++ b/plugins/netutils.h @@ -45,8 +45,6 @@ # endif /* UNIX_PATH_MAX */ #endif /* HAVE_SYS_UN_H */ -RETSIGTYPE socket_timeout_alarm_handler (int) __attribute__((noreturn)); - /* process_request and wrapper macros */ #define process_tcp_request(addr, port, sbuf, rbuf, rsize) \ process_request(addr, port, IPPROTO_TCP, sbuf, rbuf, rsize) @@ -83,7 +81,16 @@ void host_or_die(const char *str); # define is_hostname(addr) resolve_host_or_addr(addr, AF_INET) #endif +#ifdef LOCAL_TIMEOUT_ALARM_HANDLER extern unsigned int socket_timeout; +extern int socket_timeout_state; +RETSIGTYPE socket_timeout_alarm_handler (int) __attribute__((noreturn)); +#else +unsigned int socket_timeout = DEFAULT_SOCKET_TIMEOUT; +unsigned int socket_timeout_state = STATE_CRITICAL; +extern RETSIGTYPE socket_timeout_alarm_handler (int) __attribute__((noreturn)); +#endif + extern int econn_refuse_state; extern int was_refused; extern int address_family;