curl / Mailing Lists / curl-library / Single Mail


Re: SIGSEGV after curl_easy_cleanup in libuv app.

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

> On 8 Apr 2017, at 20:34, Ray Satiro via curl-library <> 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

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
Received on 2017-04-09