From: Wilfried Goesgens Date: Sat, 8 Jan 2011 16:16:18 +0000 (+0100) Subject: libc-ares migration X-Git-Tag: v8.11~1122 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=bf5bb9d4b75617ea575d238644c4949604b07a6f libc-ares migration - ev_io_stop removes us from the list, but we still want to receive stuff. --- diff --git a/citadel/modules/c-ares-dns/serv_c-ares-dns.c b/citadel/modules/c-ares-dns/serv_c-ares-dns.c index adb0827f3..ec55ed9e0 100644 --- a/citadel/modules/c-ares-dns/serv_c-ares-dns.c +++ b/citadel/modules/c-ares-dns/serv_c-ares-dns.c @@ -220,7 +220,7 @@ void QueryCb(void *arg, IO->DNSStatus = status; if (status == ARES_SUCCESS) IO->DNS_CB(arg, abuf, alen); - ev_io_stop(event_base, &IO->dns_io_event); +/// ev_io_stop(event_base, &IO->dns_io_event); IO->PostDNS(IO); } @@ -307,7 +307,9 @@ void SockStateCb(void *data, int sock, int read, int write) AsyncIO *IO = data; /* already inside of the event queue. */ - if (IO->dns_io_event.fd != sock) { + if ((read == 0) && (write == 0)) { +// ev_io_stop(event_base, &IO->dns_io_event); + } else if (IO->dns_io_event.fd != sock) { if (IO->dns_io_event.fd != 0) { ev_io_stop(event_base, &IO->dns_io_event); }