There is a possibility for `udp_recv()` to be called with `eresult`
being `ISC_R_SUCCESS`, but nevertheless with already deactivated `resp`,
which can happen when the request has been canceled in the meantime.
*/
if (ISC_LINK_LINKED(resp, alink)) {
response = resp->response;
+ } else if (eresult == ISC_R_SUCCESS) {
+ eresult = ISC_R_CANCELED;
}
if (eresult != ISC_R_SUCCESS) {
goto done;
}
- INSIST(ISC_LINK_LINKED(resp, alink));
-
peer = isc_nmhandle_peeraddr(handle);
isc_netaddr_fromsockaddr(&netaddr, &peer);