fixup! Add isc_uv_udp_connect() shim
This commit is contained in:
@@ -578,7 +578,7 @@ LIBS="$LIBS $LIBUV_LIBS"
|
||||
|
||||
# Those functions are only provided in newer versions of libuv, we'll be emulating them
|
||||
# for now
|
||||
AC_CHECK_FUNCS([uv_handle_get_data uv_handle_set_data uv_import uv_udp_connect])
|
||||
AC_CHECK_FUNCS([uv_handle_get_data uv_handle_set_data uv_import uv_udp_connect uv_translate_sys_error])
|
||||
AX_RESTORE_FLAGS([libuv])
|
||||
|
||||
#
|
||||
|
||||
@@ -197,14 +197,22 @@ isc_uv_udp_connect(uv_udp_t *handle, const struct sockaddr *addr) {
|
||||
int addrlen = (addr->sa_family == AF_INET)
|
||||
? sizeof(struct sockaddr_in)
|
||||
: sizeof(struct sockaddr_in6);
|
||||
#ifdef WIN32
|
||||
err = connect(handle->socket, addr, addrlen);
|
||||
#else /* WIN32 */
|
||||
err = connect(handle->io_watcher.fd, addr, addrlen);
|
||||
#endif /* WIN32 */
|
||||
} while (err == -1 && errno == EINTR);
|
||||
|
||||
if (err) {
|
||||
#ifdef WIN32
|
||||
return (uv_translate_sys_error(err));
|
||||
#else /* WIN32 */
|
||||
#else /* WIN32 */
|
||||
#ifdef HAVE_UV_TRANSLATE_SYS_ERROR
|
||||
return (uv_translate_sys_error(errno));
|
||||
#else
|
||||
return (-errno);
|
||||
#endif /* HAVE_UV_TRANSLATE_SYS_ERROR */
|
||||
#endif /* WIN32 */
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user