diff --git a/src/collectd.c b/src/collectd.c
index 64da57650a2627774e3cf3e78913b0f20810c6ee..e13064771dcef9878bef79a3bf5bd289e4ded6ac 100644 (file)
--- a/src/collectd.c
+++ b/src/collectd.c
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
+ * Free Software Foundation; only version 2 of the License is applicable.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
#if HAVE_LIBRRD
static int start_server (void)
{
- /* FIXME use stack here! */
+ /* FIXME */
+#if 0
char *host;
char *type;
char *instance;
char *values;
- while (loop == 0)
+ int error_counter = 0;
+ int status;
+
+ while ((loop == 0) && (error_counter < 3))
{
- if (network_receive (&host, &type, &instance, &values) == 0)
- plugin_write (host, type, instance, values);
+ status = network_receive (&host, &type, &instance, &values);
+
+ if (status != 0)
+ {
+ if (status < 0)
+ error_counter++;
+ continue;
+ }
+ error_counter = 0;
+
+ plugin_write (host, type, instance, values);
if (host != NULL) free (host); host = NULL;
if (type != NULL) free (type); type = NULL;
if (values != NULL) free (values); values = NULL;
}
+#endif
return (0);
} /* static int start_server (void) */
#endif /* HAVE_LIBRRD */
#endif
start_client ();
+ plugin_shutdown_all ();
+
#if COLLECT_DEBUG
if (logfile != NULL)
DBG_STOPFILE("debug file closed.");