On Thu, 7 May 2009, Matt Veenstra wrote:
I am using libcurl 7.19.4 and openssl 0.9.8k. The crash still happens.
:-(
Does libcurl have any simple global lock/mutex we can wrap around these calls as a fix? They do not take very long and in a perfect world would only be called once per thread.
No, there's no such lock/mutex in libcurl. We only use thread-safe functions in libcurl so we have no need for such calls. The SSL/crypto functions are the only exceptions and they have their own mutexes.
My fix today is to NOT seed OpenSSL. I do this by modifying libcurl. I of course could write my own very simple lock as well.
Indeed you can. And I must agree with you that the fact that removing only these functions calls seem to indicate that this may in fact be a thread-safe related problem in OpenSSL. The weird part would possibly be why this hasn't bitten other people already.
I will also start a conversation with the openssl list.
When you do, please post a us a link to the dev list archive so that us non-subscribers can see what happens!
-- / daniel.haxx.se
