]> code.ossystems Code Review - openembedded-core.git/commit
curl: enable threaded resolver
authorAndré Draszik <adraszik@tycoint.com>
Mon, 4 Sep 2017 09:42:44 +0000 (10:42 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 5 Sep 2017 13:58:36 +0000 (14:58 +0100)
commit41f1e44fce976c4140cda62a41349e91e69d04ef
treef3554b8f89138faa1667105686e8c491d8080ff9
parentdd75644db2f662f0d88529a068bbfb599c9790a9
curl: enable threaded resolver

Multi-threaded applications using libcurl crash
on DNS timeouts when built using OE.

The reason is as follows:
By default, libcurl implements DNS timeouts using a
timer (alarm()) and a pair of setjmp()/longjmp().
This approach is unsafe in multi-threaded applications
for various reasons, as e.g. explained in the relevant
man-pages.

To avoid this, libcurl can be compiled with a built-in
threaded resolver, or against the c-ares asynchronous
resolver library.

To keep extra dependencies to a minimum, and to mimic
other distributions (debian at least), and because
c-ares is not available in OE-core, add a PACKAGECONFIG
to be able to enable use of of the built-in threaded
resolver and enable it by default.

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-support/curl/curl_7.54.1.bb