From 745344ea4e9214bdfa13714d0138ad685e0434fd Mon Sep 17 00:00:00 2001 From: Stefan Eissing Date: Sat, 21 Mar 2026 13:49:12 +0100 Subject: [PATCH] hostip: fix !no_signal mixup in resolve refaactor When extracting the resolve case using alarm timers, the check for "we are not allowed to use signals" was refactored wrong. Follow-up to 96d5b5c688c48a8f58ded1563ed0c Closes #21047 --- lib/hostip.c | 4 ++-- tests/http/test_06_eyeballs.py | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/hostip.c b/lib/hostip.c index e8feb930da..6406a850af 100644 --- a/lib/hostip.c +++ b/lib/hostip.c @@ -637,7 +637,7 @@ static CURLcode resolv_alarm_timeout(struct Curl_easy *data, DEBUGASSERT(hostname && *hostname); DEBUGASSERT(timeoutms > 0); - DEBUGASSERT(data->set.no_signal); + DEBUGASSERT(!data->set.no_signal); #ifndef CURL_DISABLE_DOH DEBUGASSERT(!data->set.doh); #endif @@ -783,7 +783,7 @@ CURLcode Curl_resolv(struct Curl_easy *data, return CURLE_OPERATION_TIMEDOUT; #ifdef USE_ALARM_TIMEOUT - if(timeoutms && !data->set.no_signal) { + if(timeoutms && data->set.no_signal) { /* Cannot use ALARM when signals are disabled */ timeoutms = 0; } diff --git a/tests/http/test_06_eyeballs.py b/tests/http/test_06_eyeballs.py index 6129ab5f17..96fa643270 100644 --- a/tests/http/test_06_eyeballs.py +++ b/tests/http/test_06_eyeballs.py @@ -105,6 +105,8 @@ class TestEyeballs: # check timers when trying 3 unresponsive addresses @pytest.mark.skipif(condition=not Env.curl_has_feature('IPv6'), reason='curl lacks ipv6 support') + @pytest.mark.skipif(condition=not Env.curl_has_feature('AsynchDNS'), + reason='curl lacks async DNS support') @pytest.mark.skipif(condition=not Env.curl_is_verbose(), reason="needs curl verbose strings") def test_06_13_timers(self, env: Env): curl = CurlClient(env=env)