gpt4 book ai didi

c - OpenSSL 线程安全吗?

转载 作者:太空宇宙 更新时间:2023-11-04 00:03:25 26 4
gpt4 key购买 nike

如果我在一个线程中执行 SSL 握手并在单独的线程中执行 SSL_read 和 SSL_write,是否会有问题?

最佳答案

OpenSSL threads manual

OpenSSL can safely be used in multi-threaded applications provided that at least two callback functions are set, locking_function and threadid_func.

Recommended library setup sample

void thread_setup(void)
{
int i;

lock_cs = OPENSSL_malloc(CRYPTO_num_locks() * sizeof(HANDLE));
for (i = 0; i < CRYPTO_num_locks(); i++) {
lock_cs[i] = CreateMutex(NULL, FALSE, NULL);
}

CRYPTO_set_locking_callback((void (*)(int, int, char *, int))
win32_locking_callback);
/* id callback defined */
}

void thread_cleanup(void)
{
int i;

CRYPTO_set_locking_callback(NULL);
for (i = 0; i < CRYPTO_num_locks(); i++)
CloseHandle(lock_cs[i]);
OPENSSL_free(lock_cs);
}

关于c - OpenSSL 线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33777302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com