* connection threads exit without closing client socket
(so client blocks waiting for response that never comes)
* listen_queue_thread blocks on poll() until a new connection comes in
(because no poll timeout specified)
-- kevin brintnall
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1525
a5681a0c-68f1-0310-ab6d-
d61299d08faa
status = handle_request (fd, buffer, /*buffer_size=*/ status);
if (status != 0)
- {
- close (fd);
break;
- }
}
+ close(fd);
+
self = pthread_self ();
/* Remove this thread from the connection threads list */
pthread_mutex_lock (&connection_threads_lock);
pollfds[i].revents = 0;
}
- status = poll (pollfds, pollfds_num, /* timeout = */ -1);
- if (status < 1)
+ status = poll (pollfds, pollfds_num, /* timeout = */ 1000);
+ if (status == 0)
+ {
+ continue; /* timeout */
+ }
+ else if (status < 0)
{
status = errno;
if (status != EINTR)