Use libuv-provided uv_{export,import} if available

This commit is contained in:
Witold Kręcicki
2020-02-07 08:40:25 +01:00
parent 91d5c3313c
commit aaa13532c2
8 changed files with 34 additions and 4 deletions
+3
View File
@@ -471,6 +471,9 @@
/* Define to 1 if you have the `uv_handle_set_data' function. */
#undef HAVE_UV_HANDLE_SET_DATA
/* Define to 1 if you have the `uv_import' function. */
#undef HAVE_UV_IMPORT
/* Use zlib library */
#undef HAVE_ZLIB
+9
View File
@@ -355,6 +355,15 @@ typedef __int64 off_t;
/* Define to 1 if you have the `HMAC_CTX_reset' function. */
@HAVE_HMAC_CTX_RESET@
/* Define to 1 if you have the `uv_handle_get_data' function. */
@HAVE_UV_HANDLE_GET_DATA@
/* Define to 1 if you have the `uv_handle_set_data' function. */
@HAVE_UV_HANDLE_SET_DATA@
/* Define to 1 if you have the `uv_import' function. */
@HAVE_UV_IMPORT@
/*
* Define to nothing if C supports flexible array members, and to 1 if it does
* not. That way, with a declaration like `struct s { int n; double
Vendored
+1 -1
View File
@@ -15960,7 +15960,7 @@ LIBS="$LIBS $LIBUV_LIBS"
# Those functions are only provided in newer versions of libuv, we'll be emulating them
# for now
for ac_func in uv_handle_get_data uv_handle_set_data
for ac_func in uv_handle_get_data uv_handle_set_data uv_import
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+1 -1
View File
@@ -667,7 +667,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])
AC_CHECK_FUNCS([uv_handle_get_data uv_handle_set_data uv_import])
#
# flockfile is usually provided by pthreads
+3
View File
@@ -13,6 +13,7 @@
#include <isc/util.h>
#include "uv-compat.h"
#ifndef HAVE_UV_IMPORT
/*
* XXXWPK: This code goes into libuv internals and it's platform dependent.
* It's ugly, we shouldn't do it, but the alternative with passing sockets
@@ -190,3 +191,5 @@ isc_uv_import(uv_stream_t *stream, isc_uv_stream_info_t *info) {
return (uv_tcp_open(tcp, info->fd));
}
#endif
#endif
+10
View File
@@ -33,6 +33,14 @@ uv_handle_set_data(uv_handle_t *handle, void *data) {
};
#endif
#ifdef HAVE_UV_IMPORT
#define isc_uv_stream_info_t uv_stream_info_t
#define isc_uv_export uv_export
#define isc_uv_import uv_import
#else
/*
* These functions are not available in libuv, but they're very internal
* to libuv. We should try to get them merged upstream.
@@ -69,3 +77,5 @@ isc_uv_import(uv_stream_t *stream, isc_uv_stream_info_t *info);
* Imports uv_stream_info_t value into uv_stream_t to initialize a
* shared stream.
*/
#endif
-2
View File
@@ -685,8 +685,6 @@ isc_timermgr_destroy
isc_timermgr_poke
isc_tm_timegm
isc_tm_strptime
isc_uv_export
isc_uv_import
isc_win32os_versioncheck
openlog
@IF PKCS11
+7
View File
@@ -223,6 +223,9 @@ my @substdefh = ("CONFIGARGS",
"HAVE_HMAC_CTX_GET_MD",
"HAVE_HMAC_CTX_NEW",
"HAVE_HMAC_CTX_RESET",
"HAVE_UV_HANDLE_GET_DATA",
"HAVE_UV_HANDLE_SET_DATA",
"HAVE_UV_IMPORT",
);
# for platform.h
@@ -1321,6 +1324,10 @@ if ($use_libuv eq "auto") {
last;
}
}
$configdefh{"HAVE_UV_HANDLE_SET_DATA"} = 1;
$configdefh{"HAVE_UV_HANDLE_GET_DATA"} = 1;
$configdefh{"HAVE_UV_IMPORT"} = 1;
# If we have one use it otherwise report the error
if ($use_libuv eq "auto") {