3913. [bug] Address race issue in dispatch. [RT #36731]

This commit is contained in:
Mark Andrews
2014-08-06 18:49:53 +10:00
parent 3e80f25d33
commit 493f3eb297
2 changed files with 6 additions and 6 deletions

View File

@@ -1,3 +1,5 @@
3913. [bug] Address race issue in dispatch. [RT #36731]
3912. [bug] Address some unrecoverable lookup failures. [RT #36330]
3911. [func] Implement EDNS EXPIRE option client side, allowing

View File

@@ -1122,8 +1122,8 @@ udp_recv(isc_event_t *ev_in, dns_dispatch_t *disp, dispsocket_t *dispsock) {
} else {
free_buffer(disp, ev->region.base, ev->region.length);
UNLOCK(&disp->lock);
isc_event_free(&ev_in);
UNLOCK(&disp->lock);
return;
}
} else if (ev->result != ISC_R_SUCCESS) {
@@ -1134,8 +1134,8 @@ udp_recv(isc_event_t *ev_in, dns_dispatch_t *disp, dispsocket_t *dispsock) {
"odd socket result in udp_recv(): %s",
isc_result_totext(ev->result));
UNLOCK(&disp->lock);
isc_event_free(&ev_in);
UNLOCK(&disp->lock);
return;
}
@@ -1310,9 +1310,8 @@ udp_recv(isc_event_t *ev_in, dns_dispatch_t *disp, dispsocket_t *dispsock) {
*/
deactivate_dispsocket(disp, dispsock);
}
UNLOCK(&disp->lock);
isc_event_free(&ev_in);
UNLOCK(&disp->lock);
}
/*
@@ -1494,9 +1493,8 @@ tcp_recv(isc_task_t *task, isc_event_t *ev_in) {
restart:
(void)startrecv(disp, NULL);
UNLOCK(&disp->lock);
isc_event_free(&ev_in);
UNLOCK(&disp->lock);
}
/*