From 3fdc595e0c730edf1feb49a0488319008ef495b6 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 8 Oct 2019 19:32:34 +0200 Subject: [PATCH] LibCore: CHttpJob::start() should fail asynchronously Clients are expected to have a chance to set up an on_finish callback before we finish or fail. --- Libraries/LibCore/CHttpJob.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Libraries/LibCore/CHttpJob.cpp b/Libraries/LibCore/CHttpJob.cpp index b1605f36ae..0d910aa98b 100644 --- a/Libraries/LibCore/CHttpJob.cpp +++ b/Libraries/LibCore/CHttpJob.cpp @@ -124,8 +124,11 @@ void CHttpJob::start() on_socket_connected(); }; bool success = m_socket->connect(m_request.url().host(), m_request.url().port()); - if (!success) - return did_fail(CNetworkJob::Error::ConnectionFailed); + if (!success) { + deferred_invoke([this](auto&) { + return did_fail(CNetworkJob::Error::ConnectionFailed); + }); + } } void CHttpJob::shutdown()