Branch: Tag:

2015-03-31

2015-03-31 12:50:24 by Henrik Grubbström (Grubba) <grubba@grubba.org>

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;    }    }