diff options
| -rw-r--r-- | src/idevice.c | 15 | 
1 files changed, 15 insertions, 0 deletions
| diff --git a/src/idevice.c b/src/idevice.c index 745d784..8c81576 100644 --- a/src/idevice.c +++ b/src/idevice.c @@ -79,12 +79,19 @@ static void locking_function(int mode, int n, const char* file, int line)  		mutex_unlock(&mutex_buf[n]);  } +#if OPENSSL_VERSION_NUMBER < 0x10000000L  static unsigned long id_function(void)  {  	return ((unsigned long)THREAD_ID);  } +#else +static void id_function(CRYPTO_THREADID *thread) +{ +	CRYPTO_THREADID_set_numeric(thread, (unsigned long)THREAD_ID); +}  #endif  #endif +#endif /* HAVE_OPENSSL */  static void internal_idevice_init(void)  { @@ -99,7 +106,11 @@ static void internal_idevice_init(void)  	for (i = 0; i < CRYPTO_num_locks(); i++)  		mutex_init(&mutex_buf[i]); +#if OPENSSL_VERSION_NUMBER < 0x10000000L  	CRYPTO_set_id_callback(id_function); +#else +	CRYPTO_THREADID_set_callback(id_function); +#endif  	CRYPTO_set_locking_callback(locking_function);  #endif  #else @@ -113,7 +124,11 @@ static void internal_idevice_deinit(void)  #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)  	int i;  	if (mutex_buf) { +#if OPENSSL_VERSION_NUMBER < 0x10000000L  		CRYPTO_set_id_callback(NULL); +#else +		CRYPTO_THREADID_set_callback(NULL); +#endif  		CRYPTO_set_locking_callback(NULL);  		for (i = 0; i < CRYPTO_num_locks(); i++)  			mutex_destroy(&mutex_buf[i]); | 
