From: Vsevolod Stakhov Date: Wed, 23 Mar 2011 16:09:05 +0000 (+0300) Subject: Race (func MUST be called after all modifications to its argument) X-Git-Tag: 0.3.10~1 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=143e584d81e18757922706ae67f9fd61e85a10d1;p=rspamd.git Race (func MUST be called after all modifications to its argument) --- diff --git a/src/dns.c b/src/dns.c index 52fe0a9f0..6e69b174a 100644 --- a/src/dns.c +++ b/src/dns.c @@ -1026,9 +1026,11 @@ dns_timer_cb (gint fd, short what, void *arg) rep->code = DNS_RC_SERVFAIL; upstream_fail (&rep->request->server->up, rep->request->time); remove_normal_event (req->session, dns_fin_cb, req); - req->func (rep, req->arg); dns_check_throttling (req->resolver); req->resolver->errors ++; + + req->func (rep, req->arg); + return; } /* Select other server */ @@ -1092,9 +1094,11 @@ dns_retransmit_handler (gint fd, short what, void *arg) rep->request = req; rep->code = DNS_RC_SERVFAIL; upstream_fail (&rep->request->server->up, rep->request->time); - req->func (rep, req->arg); req->resolver->errors ++; dns_check_throttling (req->resolver); + + req->func (rep, req->arg); + return; } r = send_dns_request (req);