最近用到CURL,在开启多个线程同时下载,并且又设置了timeout的时候,程序随机报如下段错误。
(gdb) bt
#0 0x00002ac0a97a2ec2 in ?? () from /usr/lib64/libcurl.so.3
#1 0x00002ac0a97a37dd in ?? () from /usr/lib64/libcurl.so.3
#2 0x00002ac0a97a4755 in curl_mvsnprintf () from /usr/lib64/libcurl.so.3
#3 0x00002ac0a97a3083 in curl_msnprintf () from /usr/lib64/libcurl.so.3
#4 0x00002ac0a9793ecb in Curl_failf () from /usr/lib64/libcurl.so.3
#5 0x00002ac0a978cf03 in Curl_resolv () from /usr/lib64/libcurl.so.3
#6 0x000000004c22197d in ?? ()
#7 0x0000000000000000 in ?? ()
经查CURL官方文档,有如下解释:
CURLOPT_NOSIGNAL
Pass a long. If i