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)