1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 05:27:46 +00:00

LibCore+RequestServer: Ignore callbacks for cancelled network jobs

Also cancel the jobs when they're destroyed.
This makes sure that jobs whose owners have discarded don't end up
crashing because of a did_fail().
This commit is contained in:
Ali Mohammad Pur 2021-09-19 18:18:19 +04:30 committed by Ali Mohammad Pur
parent 436693c0c9
commit 81a0301d4d
4 changed files with 12 additions and 3 deletions

View file

@ -58,7 +58,7 @@ GeminiRequest::~GeminiRequest()
{
m_job->on_finish = nullptr;
m_job->on_progress = nullptr;
m_job->shutdown();
m_job->cancel();
}
NonnullOwnPtr<GeminiRequest> GeminiRequest::create_with_job(Badge<GeminiProtocol>, ClientConnection& client, NonnullRefPtr<Gemini::GeminiJob> job, NonnullOwnPtr<OutputFileStream>&& output_stream)