Просмотр исходного кода

Make socket alarm handler customisable (like c459ca07)

Thomas Guyot-Sionnest 17 лет назад
Родитель
Сommit
386b791af2
2 измененных файлов с 12 добавлено и 6 удалено
  1. 3 4
      plugins/netutils.c
  2. 9 2
      plugins/netutils.h

+ 3 - 4
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);
 }
 
 

+ 9 - 2
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;