cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: HTTPS and Multi-threading

From: Olano, Ever <eolano_at_cybersource.com>
Date: Tue, 8 Jun 2004 10:11:35 -0700

Thanks, Dirk. I still have some questions and please pardon me if they're very newbie ones.

1. In the guide, it says "When using multiple threads you should first ignore SIGPIPE in your main thread and set the CURLOPT_NOSIGNAL option to TRUE for all handles." How do I ignore SIGPIPE in my main thread? (I warned you about newbie stuff). Or is that still needed? I'm actually building a C library for our customers. So the main thread would be theirs, unfortunately. Do library providers usually ask their customers to do this in their app?

2. What would not enabling ares-support exactly cause? If I don't have ares-support enabled and dns-resolves take too long, would the application hang? Or would it crash? What exactly happens? Do people usually find themselves building with ares-support?

3. If I enable ares-support, do I need to download and build ares myself or is it included in curl. I'm sorry. I can't find the page that talks about it. And I couldn't find any ares directories in my curl 7.11.2 installation.

4. I looked at the OpenSSL threads page and it talks about setting two callback functions - a locking function and an id function. I think that we are targeting Windows and Linux for now so I shouldn't need the id function. Right? But for Solaris, for example, I would? It should simply return the current thread ID, I take it.

5. Have you or anyone tried using the sample code in mttest.c? Is it reliable or has anyone found any bugs in it? I'm planning to just copy it since I wouldn't know how to implement the locking function on my own.

6. It seems I have to set these callback functions in the main thread too (before any threads are spawned, I guess). Again, my problem is that I'm building a library to be used by our customers. Should I make them set these in their code? Or is there some initialization section in C where I can put all these (similar to static initializers in C++). I don't think there is. :(

Thanks and I'd appreciate everyone's inputs.
Ever

------------------------------

Message: 3
Date: Tue, 8 Jun 2004 11:10:07 +0200
From: Dirk Manske <dm_at_sysformance.com>
Subject: Re: HTTPS and Multi-threading
To: curl-library_at_cool.haxx.se
Message-ID: <200406081110.07211.dm_at_sysformance.com>
Content-Type: text/plain; charset="iso-8859-1"

On Tuesday 08 June 2004 03:32, Olano, Ever wrote:
> Did I get that right? If not, please do correct me.
Correct. But dont forget openssl locking:
http://www.openssl.org/docs/crypto/threads.html
Received on 2004-06-08