gpt4 book ai didi

c - openSSL 读/写线程安全

转载 作者:太空宇宙 更新时间:2023-11-04 11:52:41 27 4
gpt4 key购买 nike

我们有在多线程环境中使用 openSSL 版本 1.0.2h 的服务。

第一个线程运行阻塞读取,另一个线程执行周期性写入。

它在 SSL_write 函数中的 libssl.so 中的某处不时崩溃。代码调用 SSL_write 看起来绝对合法,它使用调用函数堆栈上分配的缓冲区进行操作。崩溃也非常罕见,这表明它可能是竞争条件。

我找到了以下 article说在两个线程中使用单个 SSL 对象是不安全的,尽管设置了 CRYPTO_set_locking_callback 。那是对的吗?如果是,那么解决此问题的建议方法是什么?如果我在阻塞读取时阻塞 mutex,我将无法写入。

最佳答案

我们建议修改超时阈值。

跟踪和调试竞争条件很困难,最终您将不得不更改超时和/或缓冲区参数。现在最好研究这些参数。

关于c - openSSL 读/写线程安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55579033/

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