From 55347ed6a59d51edd7a1b1867682cf751fb900be Mon Sep 17 00:00:00 2001 From: Tim Ledbetter Date: Sun, 2 Apr 2023 21:04:27 +0100 Subject: [PATCH] ChessEngine: Gracefully handle GUI disconnections --- Userland/Services/ChessEngine/ChessEngine.cpp | 6 ++++++ Userland/Services/ChessEngine/ChessEngine.h | 1 + 2 files changed, 7 insertions(+) diff --git a/Userland/Services/ChessEngine/ChessEngine.cpp b/Userland/Services/ChessEngine/ChessEngine.cpp index a5395cb906..70a3a5d554 100644 --- a/Userland/Services/ChessEngine/ChessEngine.cpp +++ b/Userland/Services/ChessEngine/ChessEngine.cpp @@ -68,3 +68,9 @@ void ChessEngine::handle_quit() if (on_quit) on_quit(ESUCCESS); } + +void ChessEngine::handle_unexpected_eof() +{ + if (on_quit) + on_quit(EPIPE); +} diff --git a/Userland/Services/ChessEngine/ChessEngine.h b/Userland/Services/ChessEngine/ChessEngine.h index 37ae88603b..1ffd6ea237 100644 --- a/Userland/Services/ChessEngine/ChessEngine.h +++ b/Userland/Services/ChessEngine/ChessEngine.h @@ -19,6 +19,7 @@ public: virtual void handle_position(Chess::UCI::PositionCommand const&) override; virtual void handle_go(Chess::UCI::GoCommand const&) override; virtual void handle_quit() override; + virtual void handle_unexpected_eof() override; Function on_quit;