aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/c/openssl.c
diff options
context:
space:
mode:
authorGravatar Ziv Scully <ziv@mit.edu>2015-10-13 14:22:05 -0400
committerGravatar Ziv Scully <ziv@mit.edu>2015-10-13 14:22:05 -0400
commitc25f458b3e1721027b76b0cf46593becfd6f2d5f (patch)
tree23cee56697878194298b1c5fcaa36da2fb1ed2f2 /src/c/openssl.c
parent013ea39e9f187efbb0e3a613264a1c7adfebe692 (diff)
parent438e05e7ea9949b7ee61e40a2a6bc7e1c1d4b8f3 (diff)
Merge bbaren's fix for bug 209.
Diffstat (limited to 'src/c/openssl.c')
-rw-r--r--src/c/openssl.c8
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];