collectd.conf(5): Added a note about that trailing whitespace bug.
[collectd.git] / src / network.c
index a2cb6f5..32af404 100644 (file)
@@ -1,6 +1,6 @@
 /**
  * collectd - src/network.c
- * Copyright (C) 2006  Florian octo Forster
+ * Copyright (C) 2005,2006  Florian octo Forster
  *
  * 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
  *   Florian octo Forster <octo at verplant.org>
  **/
 
+#if HAVE_CONFIG_H
+# include "config.h"
+#endif
+
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
@@ -215,7 +219,11 @@ int network_create_socket (const char *node, const char *service)
        DBG ("node = %s, service = %s", node, service);
 
        if (operating_mode == MODE_LOCAL || operating_mode == MODE_LOG)
+       {
+               syslog (LOG_WARNING, "network_create_socket: There is no point opening a socket when you are in mode `%s'.",
+                               operating_mode == MODE_LOCAL ? "Local" : "Log");
                return (-1);
+       }
 
        socklist_tail = socklist_head;
        while ((socklist_tail != NULL) && (socklist_tail->next != NULL))
@@ -280,6 +288,7 @@ int network_create_socket (const char *node, const char *service)
                {
                        if (network_bind_socket (se, ai_ptr) != 0)
                        {
+                               close (se->fd);
                                free (se->addr);
                                free (se);
                                continue;
@@ -447,7 +456,7 @@ int network_receive (char **host, char **type, char **inst, char **value)
        {
                syslog (LOG_WARNING, "Invalid message from `%s'", *host);
                free (*host); *host = NULL;
-               return (-1);
+               return (1);
        }
 
        if ((*type = strdup (fields[0])) == NULL)