curl / Mailing Lists / curl-library / Single Mail

curl-library

Re: SIGSEGV after curl_easy_cleanup in libuv app.

From: Alex Bligh <alex_at_alex.org.uk>
Date: Sun, 9 Apr 2017 08:43:14 +0200

> On 8 Apr 2017, at 20:34, Ray Satiro via curl-library <curl-library_at_cool.haxx.se> wrote:
>
> On 4/8/2017 2:18 PM, Vitaliy T wrote:
>> Solved via curl_easy_setopt (curl, CURLOPT_NOSIGNAL, 1L);
>> This should be mentioned in the "CURL everything" book, IMHO.
>
> Yes, you're right. For now see
> https://curl.haxx.se/libcurl/c/threadsafe.html

Actually that page would seem to have a small issue:

> Signals are used for timing out name resolves (during DNS lookup) - when built without using either the c-ares or threaded resolver backends. When using multiple threads you should set the CURLOPT_NOSIGNAL option to 1L for all handles. Everything will or might work fine except that timeouts are not honored during the DNS lookup - which you can work around by building libcurl with c-ares support. c-ares is a library that provides asynchronous name resolves. On some platforms, libcurl simply will not function properly multi-threaded unless this option is set.

If signals are only used when built without using EITHER c-ares or threaded resolver backends, then presumably the probably can be worked around by building libcurl with c-ares OR the threaded resolver back ends. The latter is not mentioned.

-- 
Alex Bligh
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:   https://curl.haxx.se/mail/etiquette.html
Received on 2017-04-09