set SO_REUSEADDR on the listen socket -- kevin brintnall
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Thu, 25 Sep 2008 20:11:43 +0000 (20:11 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Thu, 25 Sep 2008 20:11:43 +0000 (20:11 +0000)
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1524 a5681a0c-68f1-0310-ab6d-d61299d08faa

src/rrd_daemon.c

index a94e079..f1221e3 100644 (file)
@@ -1643,6 +1643,7 @@ static int open_listen_socket (const char *addr_orig) /* {{{ */
   {
     int fd;
     listen_socket_t *temp;
+    int one = 1;
 
     temp = (listen_socket_t *) realloc (listen_fds,
         sizeof (listen_fds[0]) * (listen_fds_num + 1));
@@ -1661,6 +1662,8 @@ static int open_listen_socket (const char *addr_orig) /* {{{ */
       continue;
     }
 
+    setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one));
+
     status = bind (fd, ai_ptr->ai_addr, ai_ptr->ai_addrlen);
     if (status != 0)
     {