On Thu, 11 Nov 2010, CHEN Xiaolei A wrote:

When using libcurl SFTP to download files in multi-threads, I encountered a problem: the concurrent thread number can not be greater than 20, or else core dump will probably occur.

(2) Launch 20+ threads to do SFTP, and in each thread, download a big size (12M) file for 20 times Result: core dumped very soon, and in some threads, CURLE_FAILED_INIT occurred.

So what does a backtrace of such a crash look like?

(1) When we check core problem, we found that it may be caused by openssl, is there any method to make openssl thread-safe?

Yes, as documented (http://www.openssl.org/docs/crypto/threads.html#DESCRIPTION) you MUST set the openssl mutex callbacks. See for example this: http://curl.haxx.se/libcurl/c/threaded-ssl.html

--

 / daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to