projects
/
rrdtool.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use the same IPv6/IPv4 as for the client as Florian did for the server -- kevin brintnall
[rrdtool.git]
/
src
/
rrd_daemon.c
diff --git
a/src/rrd_daemon.c
b/src/rrd_daemon.c
index
f1221e3
..
c438028
100644
(file)
--- a/
src/rrd_daemon.c
+++ b/
src/rrd_daemon.c
@@
-1479,12
+1479,11
@@
static void *connection_thread_main (void *args) /* {{{ */
status = handle_request (fd, buffer, /*buffer_size=*/ status);
if (status != 0)
status = handle_request (fd, buffer, /*buffer_size=*/ status);
if (status != 0)
- {
- close (fd);
break;
break;
- }
}
}
+ close(fd);
+
self = pthread_self ();
/* Remove this thread from the connection threads list */
pthread_mutex_lock (&connection_threads_lock);
self = pthread_self ();
/* Remove this thread from the connection threads list */
pthread_mutex_lock (&connection_threads_lock);
@@
-1748,8
+1747,12
@@
static void *listen_thread_main (void *args __attribute__((unused))) /* {{{ */
pollfds[i].revents = 0;
}
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)
{
status = errno;
if (status != EINTR)