Because we use result earlier for setting the loadbalancing on the
socket, we could be left with a ISC_R_NOTIMPLEMENTED value stored in the
variable and when the UDP connection would succeed, we would
errorneously return this value instead of ISC_R_SUCCESS.
(cherry picked from commit
050258bda4a45faf18baaf3879a9da160d2230fe)
isc__nm_uvreq_put(&req, sock);
}
- if (atomic_load(&sock->result) != ISC_R_SUCCESS) {
- result = atomic_load(&sock->result);
- }
+ result = atomic_load(&sock->result);
isc__nmsocket_detach(&tmp);