+2005-03-22 Michael Poole <mdpoole@troilus.org>
+
+ * ircd/ircd_res.c (check_resolver_timeout): I give up. Use the
+ kludgy earlier version of the timeout fix.
+
2005-03-22 Michael Poole <mdpoole@troilus.org>
* ircd/channel.c (send_channel_modes): Fix test for when to send
{
if (when > CurrentTime + AR_TTL)
when = CurrentTime + AR_TTL;
- timer_add(&res_timeout, timeout_resolver, NULL, TT_ABSOLUTE, when);
+ /* TODO after 2.10.12: Rewrite the timer API because there should be
+ * no need for clients to know this kind of implementation detail. */
+ if (when > t_expire(&res_timeout))
+ /* do nothing */;
+ else if (t_onqueue(&res_timeout) && !(res_timeout.t_header.gh_flags & GEN_MARKED))
+ timer_chg(&res_timeout, TT_ABSOLUTE, when);
+ else
+ timer_add(&res_timeout, timeout_resolver, NULL, TT_ABSOLUTE, when);
}
/** Drop pending DNS lookups which have timed out.