diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/hostares.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/hostares.c b/lib/hostares.c index 1412f13a6..efecd86bd 100644 --- a/lib/hostares.c +++ b/lib/hostares.c @@ -169,10 +169,14 @@ static int ares_waitperform(struct connectdata *conn, int timeout_ms) else { /* move through the descriptors and ask for processing on them */ for(i=0; i < num; i++) + /* + * Following the advice from: + * http://lists.danga.com/pipermail/memcached/2003-October/000336.html + */ ares_process_fd(data->state.areschannel, - pfd[i].revents & (POLLRDNORM|POLLIN)? + pfd[i].revents & (POLLRDNORM|POLLIN|POLLERR|POLLHUP)? pfd[i].fd:ARES_SOCKET_BAD, - pfd[i].revents & (POLLWRNORM|POLLOUT)? + pfd[i].revents & (POLLWRNORM|POLLOUT|POLLERR)? pfd[i].fd:ARES_SOCKET_BAD); } return nfds; |