uadns (0.8) BETA; urgency=low
+ * bug_if_query_done feature for debugging (SHOULD BE TAKEN OUT FOR RELEASE)
+
Bugfixes:
* Spurious `server failure on unidentifiable query' warning suppressed.
* adnslogres: cast chars to unsigned char before using ctype.h macros.
uadns (0.8) BETA; urgency=low
uadns (0.8) BETA; urgency=low
+ * bug_if_query_done feature for debugging (SHOULD BE TAKEN OUT FOR RELEASE)
+
Bugfixes:
* Spurious `server failure on unidentifiable query' warning suppressed.
* adnslogres: cast chars to unsigned char before using ctype.h macros.
Bugfixes:
* Spurious `server failure on unidentifiable query' warning suppressed.
* adnslogres: cast chars to unsigned char before using ctype.h macros.
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;