@cryptotaxi247 / netdata-1 / commits / eaa64624f

Send an EOF from charts.d.plugin before exit (#14680)

* send an EOF before exit * use empty * make an EXIT keyword

Emmanuel Vasilakis committed Mar 8, 2023 at 17:21 UTC eaa64624fe3b1fa6c071539854cfb22c2370e5bf
3 files changed +11
collectors/charts.d.plugin/charts.d.plugin.in
+1
@@ -32,6 +32,7 @@ chartsd_cleanup() {
32 [ $debug -eq 1 ] && echo >&2 "$PROGRAM_NAME: cleaning up temporary directory $TMP_DIR ..."
33 rm -rf "$TMP_DIR"
34 fi
35 + echo "EXIT"
36 exit 0
37 }
38 trap chartsd_cleanup EXIT QUIT HUP INT TERM
collectors/plugins.d/plugins_d.h
+2
@@ -43,6 +43,8 @@
43 #define PLUGINSD_KEYWORD_HOST_LABEL "HOST_LABEL"
44 #define PLUGINSD_KEYWORD_HOST "HOST"
45
46 +#define PLUGINSD_KEYWORD_EXIT "EXIT"
47 +
48 #define PLUGINS_FUNCTIONS_TIMEOUT_DEFAULT 10 // seconds
49
50 #define PLUGINSD_LINE_MAX_SSL_READ 512
collectors/plugins.d/pluginsd_parser.c
+8
@@ -1902,6 +1902,12 @@ inline size_t pluginsd_process(RRDHOST *host, struct plugind *cd, FILE *fp_plugi
1902 return count;
1903 }
1904
1905 +PARSER_RC pluginsd_exit(char **words __maybe_unused, size_t num_words __maybe_unused, void *user __maybe_unused)
1906 +{
1907 + info("PLUGINSD: plugin called EXIT.");
1908 + return PARSER_RC_STOP;
1909 +}
1910 +
1911 static void pluginsd_keywords_init_internal(PARSER *parser, PLUGINSD_KEYWORDS types, void (*add_func)(PARSER *parser, char *keyword, keyword_function func)) {
1912
1913 if (types & PARSER_INIT_PLUGINSD) {
@@ -1912,6 +1918,8 @@ static void pluginsd_keywords_init_internal(PARSER *parser, PLUGINSD_KEYWORDS ty
1918 add_func(parser, PLUGINSD_KEYWORD_HOST_DEFINE_END, pluginsd_host_define_end);
1919 add_func(parser, PLUGINSD_KEYWORD_HOST_LABEL, pluginsd_host_labels);
1920 add_func(parser, PLUGINSD_KEYWORD_HOST, pluginsd_host);
1921 +
1922 + add_func(parser, PLUGINSD_KEYWORD_EXIT, pluginsd_exit);
1923 }
1924
1925 if (types & (PARSER_INIT_PLUGINSD | PARSER_INIT_STREAMING)) {