diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/c/openssl.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/c/openssl.c b/src/c/openssl.c index 533c3e21..981d48da 100644 --- a/src/c/openssl.c +++ b/src/c/openssl.c @@ -34,9 +34,15 @@ static void random_password() { } // OpenSSL callbacks +#ifdef PTHREAD_T_IS_POINTER +# define CRYPTO_THREADID_SET CRYPTO_THREADID_set_pointer +#else +# define CRYPTO_THREADID_SET CRYPTO_THREADID_set_numeric +#endif static void thread_id(CRYPTO_THREADID *const result) { - CRYPTO_THREADID_set_numeric(result, (unsigned long)pthread_self()); + CRYPTO_THREADID_SET(result, pthread_self()); } +#undef CRYPTO_THREADID_SET static void lock_or_unlock(const int mode, const int type, const char *file, const int line) { pthread_mutex_t *const lock = &openssl_locks[type]; |