pike.git/
lib/
modules/
Protocols.pmod/
DNS.pmod
Branch:
Tag:
Non-build tags
All tags
No tags
2015-03-31
2015-03-31 12:50:24 by Henrik Grubbström (Grubba) <grubba@grubba.org>
8f18033cd17336783ce3e52ec304d11dcdbc8df2 (
10
lines) (+
7
/-
3
)
[
Show
|
Annotate
]
Branch:
8.1
Protocols.DNS: Remove the retry call_out on done.
Fixes remainder of [bug
6285 (#6285)
].
1872:
{ remove(this_object()); }
+
mixed retry_co;
}; mapping requests=([]);
1881:
if(!r) return; sscanf(r->req,"%2c",int id); m_delete(requests,id);
+
if (r->retry_co) remove_call_out(r->retry_co);
+
r->retry_co = UNDEFINED;
r->callback && r->callback(r->domain,0,@r->args); destruct(r); }
1903:
if (nsno >= sizeof(nameservers)) { if(r->retries++ > RETRIES) {
-
call_out(remove,REMOVE_DELAY,r);
+
r->retry_co =
call_out(remove,
REMOVE_DELAY,
r);
return; } else { nsno = 0;
1911:
} send(nameservers[nsno],53,r->req);
-
call_out(retry,RETRY_DELAY,r,nsno+1);
+
r->retry_co =
call_out(retry,
RETRY_DELAY,
r,
nsno+1);
} //! Enqueue a new raw DNS request.
1935:
object r = Request(domain, req, callback, args); requests[lid]=r; udp::send(nameservers[0],53,r->req);
-
call_out(retry,RETRY_DELAY,r,1);
+
r->retry_co =
call_out(retry,
RETRY_DELAY,
r,
1);
return r; } }