c++比例-libcurl多线程并发时的core【转载】
转自: https://www.cnblogs.com/edgeyang/articles/3722035.html 浅析libcurl多线程安全问题 背景:使用多线程libcurl发送请求,在未设置超时或长超时的情况下程序运行良好。但只要设置了较短超时(小于180s),程序就会出现随机的coredump。并且栈里面找不到任何有用的信息。 问题:1.为什么未设置超时,或者长超时时间(比如601s)的情况下多线程libcurl不会core? 问题:2.进程coredump并不是必现,是否在libcurl内多线程同时修改了全局变量导致? 先来看下官方libcurl的说明: libcurl is free , thread-safe , IPv6 compatible , feature rich , well supported , fast , thoroughly documented and is already used by many known, big and successful companies and numerous applications . 可以看到官方自称licurl是线程安全的,是否真的如此?再来看看代码中用到的超时选项的说明: CURLOPT_TIMEOUT Pass a long as parameter containing the