diff options
author | Sven Nierlein <sven@nierlein.de> | 2019-02-15 10:36:28 +0100 |
---|---|---|
committer | Sven Nierlein <sven@nierlein.de> | 2019-02-15 10:36:28 +0100 |
commit | 7cafb0e84550035fe671662c293122be975065ca (patch) | |
tree | 5d80a8e80854edc41a72da668a89485505d7e5dc /lib/utils_base.h | |
parent | 2962148d8bac3a65f1fb5e1a948e3f0a86a42a1a (diff) | |
download | monitoring-plugins-7cafb0e84550035fe671662c293122be975065ca.tar.gz |
check_by_ssh: fix child process leak on timeouts
When check_by_ssh runs into a timeout it simply exits keeping all child processes running.
Simply adopting the kill loop from runcmd_timeout_alarm_handler() fixes this.
Signed-off-by: Sven Nierlein <sven@nierlein.de>
Diffstat (limited to 'lib/utils_base.h')
-rw-r--r-- | lib/utils_base.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/utils_base.h b/lib/utils_base.h index 42ae0c09..d7e7dffa 100644 --- a/lib/utils_base.h +++ b/lib/utils_base.h | |||
@@ -61,6 +61,10 @@ void print_thresholds(const char *, thresholds *); | |||
61 | int check_range(double, range *); | 61 | int check_range(double, range *); |
62 | int get_status(double, thresholds *); | 62 | int get_status(double, thresholds *); |
63 | 63 | ||
64 | /* Handle timeouts */ | ||
65 | extern unsigned int timeout_state; | ||
66 | extern unsigned int timeout_interval; | ||
67 | |||
64 | /* All possible characters in a threshold range */ | 68 | /* All possible characters in a threshold range */ |
65 | #define NP_THRESHOLDS_CHARS "-0123456789.:@~" | 69 | #define NP_THRESHOLDS_CHARS "-0123456789.:@~" |
66 | 70 | ||
@@ -107,5 +111,6 @@ void np_state_write_string(time_t, char *); | |||
107 | void np_init(char *, int argc, char **argv); | 111 | void np_init(char *, int argc, char **argv); |
108 | void np_set_args(int argc, char **argv); | 112 | void np_set_args(int argc, char **argv); |
109 | void np_cleanup(); | 113 | void np_cleanup(); |
114 | const char *state_text (int); | ||
110 | 115 | ||
111 | #endif /* _UTILS_BASE_ */ | 116 | #endif /* _UTILS_BASE_ */ |