3913. [bug] Address race issue in dispatch. [RT #36731]
This commit is contained in:
2
CHANGES
2
CHANGES
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user