- for (qi=0; qi<qc; qi++) {
- fdom_split(fdomlist[qi],&domain,&qflags,ownflags,sizeof(ownflags));
-
- for (ti=0; ti<tc; ti++) {
- qu= qus[qi*tc+ti];
- if (!qu) continue;
-
- if (strchr(owninitflags,'p')) {
- for (;;) {
- r= adns_check(ads,&qu,&ans,0);
- if (r != EWOULDBLOCK) break;
- for (;;) {
- npollfds= npollfdsavail;
- timeout= -1;
- r= adns_beforepoll(ads, pollfds, &npollfds, &timeout, 0);
- if (r != ERANGE) break;
- pollfds= realloc(pollfds,sizeof(*pollfds)*npollfds);
- if (!pollfds) failure_errno("realloc pollfds",errno);
- npollfdsavail= npollfds;
- }
- if (r) failure_errno("beforepoll",r);
- r= poll(pollfds,npollfds,timeout);
- if (r == -1) failure_errno("poll",errno);
- adns_afterpoll(ads,pollfds, r?npollfds:0, 0);
- }
- } else {
- r= adns_wait(ads,&qu,&ans,0);