mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 14:07:59 +00:00
Use libuv-provided uv_{export,import} if available.
We were using our own versions of isc_uv_{export,import} functions for multithreaded TCP listeners. Upcoming libuv version will contain proper uv_{export,import} functions - use them if they're available.
This commit is contained in:
@@ -471,6 +471,9 @@
|
|||||||
/* Define to 1 if you have the `uv_handle_set_data' function. */
|
/* Define to 1 if you have the `uv_handle_set_data' function. */
|
||||||
#undef HAVE_UV_HANDLE_SET_DATA
|
#undef HAVE_UV_HANDLE_SET_DATA
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `uv_import' function. */
|
||||||
|
#undef HAVE_UV_IMPORT
|
||||||
|
|
||||||
/* Use zlib library */
|
/* Use zlib library */
|
||||||
#undef HAVE_ZLIB
|
#undef HAVE_ZLIB
|
||||||
|
|
||||||
|
@@ -355,6 +355,15 @@ typedef __int64 off_t;
|
|||||||
/* Define to 1 if you have the `HMAC_CTX_reset' function. */
|
/* Define to 1 if you have the `HMAC_CTX_reset' function. */
|
||||||
@HAVE_HMAC_CTX_RESET@
|
@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
|
* 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
|
* not. That way, with a declaration like `struct s { int n; double
|
||||||
|
2
configure
vendored
2
configure
vendored
@@ -15960,7 +15960,7 @@ LIBS="$LIBS $LIBUV_LIBS"
|
|||||||
|
|
||||||
# Those functions are only provided in newer versions of libuv, we'll be emulating them
|
# Those functions are only provided in newer versions of libuv, we'll be emulating them
|
||||||
# for now
|
# 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 :
|
do :
|
||||||
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||||
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
|
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
|
||||||
|
@@ -667,7 +667,7 @@ LIBS="$LIBS $LIBUV_LIBS"
|
|||||||
|
|
||||||
# Those functions are only provided in newer versions of libuv, we'll be emulating them
|
# Those functions are only provided in newer versions of libuv, we'll be emulating them
|
||||||
# for now
|
# 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
|
# flockfile is usually provided by pthreads
|
||||||
|
@@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
#include <isc/util.h>
|
#include <isc/util.h>
|
||||||
|
|
||||||
|
#ifndef HAVE_UV_IMPORT
|
||||||
/*
|
/*
|
||||||
* XXXWPK: This code goes into libuv internals and it's platform dependent.
|
* 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
|
* It's ugly, we shouldn't do it, but the alternative with passing sockets
|
||||||
@@ -185,3 +186,5 @@ isc_uv_import(uv_stream_t *stream, isc_uv_stream_info_t *info) {
|
|||||||
return (uv_tcp_open(tcp, info->fd));
|
return (uv_tcp_open(tcp, info->fd));
|
||||||
}
|
}
|
||||||
#endif /* ifdef WIN32 */
|
#endif /* ifdef WIN32 */
|
||||||
|
|
||||||
|
#endif /* ifndef HAVE_UV_IMPORT */
|
||||||
|
@@ -33,6 +33,14 @@ uv_handle_set_data(uv_handle_t *handle, void *data) {
|
|||||||
}
|
}
|
||||||
#endif /* ifndef HAVE_UV_HANDLE_SET_DATA */
|
#endif /* ifndef HAVE_UV_HANDLE_SET_DATA */
|
||||||
|
|
||||||
|
#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
|
* These functions are not available in libuv, but they're very internal
|
||||||
* to libuv. We should try to get them merged upstream.
|
* 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
|
* Imports uv_stream_info_t value into uv_stream_t to initialize a
|
||||||
* shared stream.
|
* shared stream.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#endif
|
||||||
|
@@ -687,8 +687,6 @@ isc_timermgr_destroy
|
|||||||
isc_timermgr_poke
|
isc_timermgr_poke
|
||||||
isc_tm_timegm
|
isc_tm_timegm
|
||||||
isc_tm_strptime
|
isc_tm_strptime
|
||||||
isc_uv_export
|
|
||||||
isc_uv_import
|
|
||||||
isc_win32os_versioncheck
|
isc_win32os_versioncheck
|
||||||
openlog
|
openlog
|
||||||
@IF PKCS11
|
@IF PKCS11
|
||||||
|
@@ -223,6 +223,9 @@ my @substdefh = ("CONFIGARGS",
|
|||||||
"HAVE_HMAC_CTX_GET_MD",
|
"HAVE_HMAC_CTX_GET_MD",
|
||||||
"HAVE_HMAC_CTX_NEW",
|
"HAVE_HMAC_CTX_NEW",
|
||||||
"HAVE_HMAC_CTX_RESET",
|
"HAVE_HMAC_CTX_RESET",
|
||||||
|
"HAVE_UV_HANDLE_GET_DATA",
|
||||||
|
"HAVE_UV_HANDLE_SET_DATA",
|
||||||
|
"HAVE_UV_IMPORT",
|
||||||
);
|
);
|
||||||
|
|
||||||
# for platform.h
|
# for platform.h
|
||||||
@@ -1321,6 +1324,10 @@ if ($use_libuv eq "auto") {
|
|||||||
last;
|
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 we have one use it otherwise report the error
|
||||||
if ($use_libuv eq "auto") {
|
if ($use_libuv eq "auto") {
|
||||||
|
Reference in New Issue
Block a user