c libcurl usage in multi-thread application summary

1. In multi-threaded application, be careful never to share a curl session handle between multiple threads simultaneously.

2. Use CURLOPT_NOSIGNAL in multi-threaded application to prevent SIGALARM to be triggered in case of curl timeout. The curl_easy_perform() will return instead of being interrupted by SIGALARM. The pitfall is that there is no effective way to time out a slow name resolver in case of using synchronous name resolver.

3. Some well documented in the libcurl documentation. Start by reading
http://curl.haxx.se/libcurl/c/libcurl-tutorial.html then move on to
http://curl.haxx.se/libcurl/c/libcurl-errors.html,
http://curl.haxx.se/libcurl/c/curl_easy_setopt.html and
http://curl.haxx.se/libcurl/c/curl_easy_perform.html for the specifics.


4. Some posts talking about libcurl segmentation fault in multi-thread application due to name resolve timeout and signal      

 

http://curl.haxx.se/mail/lib-2011-02/0275.html


http://www.mail-archive.com/curl-library@cool.haxx.se/msg07629.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值