From 5c8fd3906e6bac0914c6968a33719cc1bf5cdbf0 Mon Sep 17 00:00:00 2001 From: daurnimator Date: Tue, 4 Apr 2017 00:16:32 +1000 Subject: Implement dl_anchor for win32 --- src/openssl.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/openssl.c b/src/openssl.c index b51ae03..9c87bc9 100644 --- a/src/openssl.c +++ b/src/openssl.c @@ -1342,7 +1342,15 @@ static const EVP_MD *auxL_optdigest(lua_State *L, int index, EVP_PKEY *key, cons */ /* dl_anchor must not be called from multiple threads at once */ static int dl_anchor(void) { -#if HAVE_DLADDR +#if _WIN32 + EXPORT extern int luaopen__openssl(lua_State *); + + HMODULE dummy; + if (!GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_PIN|GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, (void *)&luaopen__openssl, &dummy)) + return GetLastError(); + + return 0; +#elif HAVE_DLADDR extern int luaopen__openssl(lua_State *); static void *anchor; Dl_info info; -- cgit v1.2.3-59-g8ed1b