提交 24612846 编写于 作者: M Martin Storsjö

openssl: Only use CRYPTO_set_id_callback on OpenSSL < 1.0.0

Since 1.0.0, this function is deprecated. A new function,
CRYPTO_THREADID_set_callback is available, but if not set at all,
it uses the address of errno as thread id, which should be
sufficient for most systems.

On windows, it never was necessary to use this function even
before 1.0.0, it used the right win32 API function for this
by default.
Signed-off-by: NMartin Storsjö <martin@martin.st>
上级 776f2bb9
......@@ -45,7 +45,7 @@ static void openssl_lock(int mode, int type, const char *file, int line)
else
pthread_mutex_unlock(&openssl_mutexes[type]);
}
#ifndef WIN32
#if !defined(WIN32) && OPENSSL_VERSION_NUMBER < 0x10000000
static unsigned long openssl_thread_id(void)
{
return (intptr_t) pthread_self();
......@@ -78,7 +78,7 @@ void ff_tls_init(void)
for (i = 0; i < CRYPTO_num_locks(); i++)
pthread_mutex_init(&openssl_mutexes[i], NULL);
CRYPTO_set_locking_callback(openssl_lock);
#ifndef WIN32
#if !defined(WIN32) && OPENSSL_VERSION_NUMBER < 0x10000000
CRYPTO_set_id_callback(openssl_thread_id);
#endif
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册