似乎有些消息来源建议使用curl_multi_remove_handle
来使卷曲手柄“无效”并导致curl_multi_wait
早日返回。线程安全保证(如果从另一个线程完成)似乎不包含在此范围内,还是我做错了(线程安全保证基本上只是可重入保证)?
推荐的方式信号curl_multi_wait
早返回是什么 ?是否真的需要通过超时进行操作? (在Linux下,我将在epoll集中使用一个eventfd来有效地“在这些套接字上等待,或者在该事件上等待fd或给定的超时”。)似乎我可以使用自定义curl_waitfd
结构,但这需要针对虚拟插座的平台特定设置。
答案 0 :(得分:1)
如果该句柄的curl_multi_remove_handle
正在线程A中运行,您绝对不能从线程B调用curl_multi_wait
。这只会引起眼泪和痛苦。
您可以选择例如:
curl_multi_wait()
的超时时间足够短,因此您无需中止它