]> code.ossystems Code Review - openembedded-core.git/commit
curl: enable threaded resolver
authorAndré Draszik <adraszik@tycoint.com>
Fri, 6 Oct 2017 12:12:58 +0000 (13:12 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 5 Nov 2017 22:39:23 +0000 (22:39 +0000)
commitf4dbb4ce29fcd03e64c83efea39f32df437c21cc
tree3b32f5bd6bfc164774ae9d4d2f92df9d122846ad
parented459bc971697fdd46e5204f625cde7afcdef6eb
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>
(cherry picked from commit 41f1e44fce976c4140cda62a41349e91e69d04ef)
Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
meta/recipes-support/curl/curl_7.53.1.bb