summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
5c33fbf)
-uadns (0.8) BETA; urgency=medium
-
- * bug_if_query_done feature for debugging (SHOULD BE TAKEN OUT FOR RELEASE)
+adns (0.8) BETA; urgency=medium
Bugfixes:
* Race near adns_beforeselect which could cause infinite timeout fixed
-uadns (0.8) BETA; urgency=medium
-
- * bug_if_query_done feature for debugging (SHOULD BE TAKEN OUT FOR RELEASE)
+adns (0.8) BETA; urgency=medium
Bugfixes:
* Race near adns_beforeselect which could cause infinite timeout fixed
Bugfixes:
* Race near adns_beforeselect which could cause infinite timeout fixed
if (r != EAGAIN) break;
maxfd= 0; tvp= 0;
FD_ZERO(&readfds); FD_ZERO(&writefds); FD_ZERO(&exceptfds);
if (r != EAGAIN) break;
maxfd= 0; tvp= 0;
FD_ZERO(&readfds); FD_ZERO(&writefds); FD_ZERO(&exceptfds);
- ads->bug_if_query_done_now= 1;
adns_beforeselect(ads,&maxfd,&readfds,&writefds,&exceptfds,&tvp,&tvbuf,0);
adns_beforeselect(ads,&maxfd,&readfds,&writefds,&exceptfds,&tvp,&tvbuf,0);
- ads->bug_if_query_done_now= 0;
assert(tvp);
rsel= select(maxfd,&readfds,&writefds,&exceptfds,tvp);
if (rsel==-1) {
assert(tvp);
rsel= select(maxfd,&readfds,&writefds,&exceptfds,tvp);
if (rsel==-1) {
struct query_queue udpw, tcpw, childw, output;
adns_query forallnext;
int nextid, udpsocket, tcpsocket;
struct query_queue udpw, tcpw, childw, output;
adns_query forallnext;
int nextid, udpsocket, tcpsocket;
- int bug_if_query_done_now;
vbuf tcpsend, tcprecv;
int nservers, nsortlist, nsearchlist, searchndots, tcpserver, tcprecv_skip;
enum adns__tcpstate {
vbuf tcpsend, tcprecv;
int nservers, nsortlist, nsearchlist, searchndots, tcpserver, tcprecv_skip;
enum adns__tcpstate {
adns_answer *ans;
adns_query parent;
adns_answer *ans;
adns_query parent;
- assert(!qu->ads->bug_if_query_done_now);
cancel_children(qu);
qu->id= -1;
cancel_children(qu);
qu->id= -1;
}
void adns__query_fail(adns_query qu, adns_status stat) {
}
void adns__query_fail(adns_query qu, adns_status stat) {
- assert(!qu->ads->bug_if_query_done_now);
adns__reset_preserved(qu);
qu->answer->status= stat;
adns__query_done(qu);
adns__reset_preserved(qu);
qu->answer->status= stat;
adns__query_done(qu);
ads->forallnext= 0;
ads->nextid= 0x311f;
ads->udpsocket= ads->tcpsocket= -1;
ads->forallnext= 0;
ads->nextid= 0x311f;
ads->udpsocket= ads->tcpsocket= -1;
- ads->bug_if_query_done_now= 0;
adns__vbuf_init(&ads->tcpsend);
adns__vbuf_init(&ads->tcprecv);
ads->tcprecv_skip= 0;
adns__vbuf_init(&ads->tcpsend);
adns__vbuf_init(&ads->tcprecv);
ads->tcprecv_skip= 0;