diff --git a/src/stub.c b/src/stub.c index a377228f..37c025a8 100644 --- a/src/stub.c +++ b/src/stub.c @@ -1299,8 +1299,6 @@ stub_udp_read_cb(void *userarg) DEBUG_STUB("%s %-35s: MSG: %p \n", STUB_DEBUG_READ, __FUNC__, (void*)netreq); - GETDNS_CLEAR_EVENT(dnsreq->loop, &netreq->event); - read = recvfrom(netreq->fd, (void *)netreq->response, netreq->max_udp_payload_size + 1, /* If read == max_udp_payload_size * then all is good. If read == @@ -1322,6 +1320,8 @@ stub_udp_read_cb(void *userarg) upstream, netreq->response, read)) return; /* Client cookie didn't match? */ + GETDNS_CLEAR_EVENT(dnsreq->loop, &netreq->event); + #ifdef USE_WINSOCK closesocket(netreq->fd); #else