Thanks Daniel for the quick reply, that answered all my questions.

Chenchen

-----Original Message-----
From: curl-library [mailto:[email protected]] On Behalf Of 
Daniel Stenberg
Sent: 15 August 2017 12:32
To: libcurl development <[email protected]>
Subject: Re: Question about curl timeout when NOSIGNAL is set

On Tue, 15 Aug 2017, Chenchen Qu wrote:

> I recently came across some crashes from my muti threaded application 
> and it turned out I don't have the CURLOPT_NOSIGNAL and signal was 
> causing some weird behaviour in my application.

Signals and threads usually don't mix very well.

> I apologize if this question was answered before, would 
> CURLOPT_TIMEOUT and CURLOPT_CONNECTTIMEOUT still work with signal disabled?

Partly. The timeouts cannot abort a slow name resolve with the synchronous name 
resolver when signals are disabled, but they work just as fine in all other 
aspects.

> How would it work without using the OS SIGALRM?

A signal is the only way to abort the stock resolver functions.

> I guess I should build libcurl with c-ares or threaded-resolver 
> support if I want the timeout To work properly.

Yes, exactly. They resolve names asynchronously, which you want if you use the 
multi interface for example.

-- 

  / daniel.haxx.se
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:   https://curl.haxx.se/mail/etiquette.html

-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:   https://curl.haxx.se/mail/etiquette.html

Reply via email to