mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-29 08:11:13 +00:00
LibProtocol: Exit fatally if the connection to RequestServer disappears
The default implementation of die() causes the client process to simply exit cleanly. This prevents any tests from recognizing that something went wrong, as the process exits with a code of 0. With this patch, we still just exit when the connection dies, but with a fatal signal. In the future, we will want to launch a new RequestServer process and re-establish client connections.
This commit is contained in:
parent
fdd2f9ebbd
commit
d1ec32e28f
Notes:
sideshowbarker
2024-07-17 01:00:06 +09:00
Author: https://github.com/trflynn89 Commit: https://github.com/LadybirdBrowser/ladybird/commit/d1ec32e28f Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/79
|
@ -14,6 +14,13 @@ RequestClient::RequestClient(NonnullOwnPtr<Core::LocalSocket> socket)
|
|||
{
|
||||
}
|
||||
|
||||
void RequestClient::die()
|
||||
{
|
||||
// FIXME: Gracefully handle this, or relaunch and reconnect to RequestServer.
|
||||
warnln("\033[31;1mLost connection to RequestServer\033[0m");
|
||||
VERIFY_NOT_REACHED();
|
||||
}
|
||||
|
||||
void RequestClient::ensure_connection(URL::URL const& url, ::RequestServer::CacheLevel cache_level)
|
||||
{
|
||||
async_ensure_connection(url, cache_level);
|
||||
|
|
|
@ -36,6 +36,8 @@ public:
|
|||
bool set_certificate(Badge<Request>, Request&, ByteString, ByteString);
|
||||
|
||||
private:
|
||||
virtual void die() override;
|
||||
|
||||
virtual void request_started(i32, IPC::File const&) override;
|
||||
virtual void request_progress(i32, Optional<u64> const&, u64) override;
|
||||
virtual void request_finished(i32, bool, u64) override;
|
||||
|
|
Loading…
Reference in a new issue