Code

Make socket alarm handler customisable (like c459ca07)
authorThomas Guyot-Sionnest <dermoth@aei.ca>
Wed, 25 Mar 2009 01:40:06 +0000 (21:40 -0400)
committerThomas Guyot-Sionnest <dermoth@aei.ca>
Wed, 25 Mar 2009 01:40:06 +0000 (21:40 -0400)
plugins/netutils.c
plugins/netutils.h

index 6082cae098dc0dfec088af8ed6733b3513a476e5..1d6100abf843efd3f25a8209adbdcfa4042d8fd4 100644 (file)
@@ -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);
 }
 
 
index 6bc5386cee42a83e25e806bc1fd5d399fb147c56..b479b7411b7682beac07817e6e33c0ef2caa7e4d 100644 (file)
@@ -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;