1
0
mirror of https://github.com/moparisthebest/curl synced 2024-08-13 17:03:50 -04:00

Joshua Kwan provided a patch to pass POLLERR / POLLHUP back to c-ares.

This fixes a loop problem with high CPU usage.
This commit is contained in:
Gunter Knauf 2009-09-11 02:33:04 +00:00
parent 7ff4b4f2b5
commit 4002fbe1f5
2 changed files with 10 additions and 2 deletions

View File

@ -6,6 +6,10 @@
Changelog
Guenter Knauf (11 Sep 2009)
- Joshua Kwan provided a patch to pass POLLERR / POLLHUP back to c-ares.
This fixes a loop problem with high CPU usage.
Daniel Stenberg (10 Sep 2009)
- Claes Jakobsson fixed a problem with cookie expiry dates at exctly the epoch
start second "Thu Jan 1 00:00:00 GMT 1970" as the date parser then returns 0

View File

@ -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;