src/rrdd.c: Only unlink UNIX domain sockets.
authorFlorian Forster <octo@leeloo.home.verplant.org>
Sun, 22 Jun 2008 11:28:29 +0000 (13:28 +0200)
committerFlorian Forster <octo@leeloo.home.verplant.org>
Sun, 22 Jun 2008 11:28:29 +0000 (13:28 +0200)
src/rrdd.c

index a9a1e05..6ce6b10 100644 (file)
@@ -506,8 +506,9 @@ static int open_listen_socket_unix (const char *path) /* {{{ */
   }
   
   listen_fds[listen_fds_num].fd = fd;
-  strncpy (listen_fds[listen_fds_num].path, path,
-      sizeof (listen_fds[listen_fds_num].path) - 1);
+  snprintf (listen_fds[listen_fds_num].path,
+      sizeof (listen_fds[listen_fds_num].path) - 1,
+      "unix:%s", path);
   listen_fds_num++;
 
   return (0);
@@ -599,7 +600,8 @@ static int close_listen_sockets (void) /* {{{ */
   for (i = 0; i < listen_fds_num; i++)
   {
     close (listen_fds[i].fd);
-    unlink (listen_fds[i].path);
+    if (strncmp ("unix:", listen_fds[i].path, strlen ("unix:")) == 0)
+      unlink (listen_fds[i].path + strlen ("unix:"));
   }
 
   free (listen_fds);