mirror of
https://github.com/RGBCube/serenity
synced 2025-05-14 05:54:58 +00:00
RequestServer: Do not defer establishing a TCP/TLS connection
The underlying issue here isn't quite understood yet, but for some reason, when we defer this connection, we ultimately end up blocking indefinitely on macOS when a subsequent StartRequest message tries to send its request FD over IPC. We should continue investigating that issue, but for now, this lets us use RequestServer more reliably on macOS.
This commit is contained in:
parent
d5ce45b016
commit
dd271adcf5
1 changed files with 4 additions and 6 deletions
|
@ -102,12 +102,10 @@ OwnPtr<Request> start_request(TBadgedProtocol&& protocol, i32 request_id, Connec
|
|||
auto protocol_request = TRequest::create_with_job(forward<TBadgedProtocol>(protocol), client, (TJob&)*job, move(output_stream), request_id);
|
||||
protocol_request->set_request_fd(pipe_result.value().read_fd);
|
||||
|
||||
Core::EventLoop::current().deferred_invoke([=] {
|
||||
if constexpr (IsSame<typename TBadgedProtocol::Type, HttpsProtocol>)
|
||||
ConnectionCache::get_or_create_connection(ConnectionCache::g_tls_connection_cache, url, job, proxy_data);
|
||||
else
|
||||
ConnectionCache::get_or_create_connection(ConnectionCache::g_tcp_connection_cache, url, job, proxy_data);
|
||||
});
|
||||
if constexpr (IsSame<typename TBadgedProtocol::Type, HttpsProtocol>)
|
||||
ConnectionCache::get_or_create_connection(ConnectionCache::g_tls_connection_cache, url, job, proxy_data);
|
||||
else
|
||||
ConnectionCache::get_or_create_connection(ConnectionCache::g_tcp_connection_cache, url, job, proxy_data);
|
||||
|
||||
return protocol_request;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue