asyn-thrdd: drop pthread_cancel

Remove use of pthread_cancel in asnyc threaded resolving. While there
are system where this works, others might leak to resource leakage
(memory, files, etc.). The popular nsswitch is one example where resolve
code can be dragged in that is not prepared.

The overall promise and mechanism of pthread_cancel() is just too
brittle and the historcal design of getaddrinfo() continues to haunt us.

Fixes #18532
Reported-by: Javier Blazquez
Closes #18540
This commit is contained in:
Stefan Eissing 2025-09-13 15:25:53 +02:00 committed by Daniel Stenberg
parent f7cac7cc07
commit de3fc1d7ad
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
10 changed files with 16 additions and 217 deletions

View file

@ -83,11 +83,6 @@ When built with c-ares for name resolving, setting this environment variable
to `[IP:port]` makes libcurl use that DNS server instead of the system
default. This is used by the curl test suite.
## `CURL_DNS_DELAY_MS`
Delay the DNS resolve by this many milliseconds. This is used in the test
suite to check proper handling of CURLOPT_CONNECTTIMEOUT(3).
## `CURL_FTP_PWD_STOP`
When set, the first transfer - when using ftp: - returns before sending