|
--- a/evhtp.c
|
|
+++ b/evhtp.c
|
|
@@ -1797,10 +1797,10 @@ _evhtp_accept_cb(evserv_t * serv, int fd, struct sockaddr * s, int sl, void * ar
|
|
}
|
|
|
|
#ifndef EVHTP_DISABLE_SSL
|
|
-#ifndef EVHTP_DISABLE_EVTHR
|
|
-static unsigned long
|
|
-_evhtp_ssl_get_thread_id(void) {
|
|
- return (unsigned long)pthread_self();
|
|
+#if !defined(EVHTP_DISABLE_EVTHR) && (OPENSSL_VERSION_NUMBER < 0x10100000L)
|
|
+static void
|
|
+_evhtp_ssl_get_thread_id(CRYPTO_THREADID *id) {
|
|
+ CRYPTO_THREADID_set_numeric(id, (unsigned long)pthread_self());
|
|
}
|
|
|
|
static void
|
|
@@ -3050,7 +3050,9 @@ evhtp_use_threads(evhtp_t * htp, evhtp_thread_init_cb init_cb, int nthreads, voi
|
|
htp->thread_init_cbarg = arg;
|
|
|
|
#ifndef EVHTP_DISABLE_SSL
|
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
evhtp_ssl_use_threads();
|
|
+#endif
|
|
#endif
|
|
|
|
if (!(htp->thr_pool = evthr_pool_new(nthreads, _evhtp_thread_init, htp))) {
|
|
@@ -3161,7 +3163,7 @@ evhtp_set_post_accept_cb(evhtp_t * htp, evhtp_post_accept_cb cb, void * arg) {
|
|
}
|
|
|
|
#ifndef EVHTP_DISABLE_SSL
|
|
-#ifndef EVHTP_DISABLE_EVTHR
|
|
+#if !defined(EVHTP_DISABLE_EVTHR) && (OPENSSL_VERSION_NUMBER < 0x10100000L)
|
|
int
|
|
evhtp_ssl_use_threads(void) {
|
|
int i;
|
|
@@ -3179,7 +3181,7 @@ evhtp_ssl_use_threads(void) {
|
|
pthread_mutex_init(&(ssl_locks[i]), NULL);
|
|
}
|
|
|
|
- CRYPTO_set_id_callback(_evhtp_ssl_get_thread_id);
|
|
+ CRYPTO_THREADID_set_callback(_evhtp_ssl_get_thread_id);
|
|
CRYPTO_set_locking_callback(_evhtp_ssl_thread_lock);
|
|
|
|
return 0;
|