rrdtool plugin: First implementation of an rrdtool write plugin.
[collectd.git] / src / hddtemp.c
index cbe6e80..80b3419 100644 (file)
@@ -158,6 +158,10 @@ static int hddtemp_query_daemon (char *buffer, int buffer_size)
                        fd = -1;
                        continue;
                }
+
+               /* A socket could be opened and connecting succeeded. We're
+                * done. */
+               break;
        }
 
        freeaddrinfo (ai_list);
@@ -181,6 +185,7 @@ static int hddtemp_query_daemon (char *buffer, int buffer_size)
 
                        syslog (LOG_ERR, "hddtemp: Error reading from socket: %s",
                                                strerror (errno));
+                       close (fd);
                        return (-1);
                }
                buffer_fill += status;
@@ -369,6 +374,7 @@ static void hddtemp_init (void)
                                first_hddname = entry;
                        }
                }
+               fclose (fh);
        }
        else
                DBG ("Could not open /proc/partitions: %s",