Code

fix crash reported by Bernard Li - connection_thread_main: avoid double calls to...
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Wed, 8 Oct 2008 05:47:39 +0000 (05:47 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Wed, 8 Oct 2008 05:47:39 +0000 (05:47 +0000)
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk@1590 a5681a0c-68f1-0310-ab6d-d61299d08faa

program/src/rrd_daemon.c

index 9c8847dd7e4a17ce157853a02ff2440d5354dce0..36d418b1c0b63cedf787a596e6081d3913e367d0 100644 (file)
@@ -1844,23 +1844,18 @@ static void *connection_thread_main (void *args) /* {{{ */
     else if (status < 0) /* error */
     {
       status = errno;
-      if (status == EINTR)
-        continue;
-      RRDD_LOG (LOG_ERR, "connection_thread_main: poll(2) failed.");
+      if (status != EINTR)
+        RRDD_LOG (LOG_ERR, "connection_thread_main: poll(2) failed.");
       continue;
     }
 
     if ((pollfd.revents & POLLHUP) != 0) /* normal shutdown */
-    {
-      close_connection(sock);
       break;
-    }
     else if ((pollfd.revents & (POLLIN | POLLPRI)) == 0)
     {
       RRDD_LOG (LOG_WARNING, "connection_thread_main: "
           "poll(2) returned something unexpected: %#04hx",
           pollfd.revents);
-      close_connection(sock);
       break;
     }