From 9479940a1fc7a399875d07496e036ce714b51207 Mon Sep 17 00:00:00 2001 From: snek Date: Wed, 27 Jul 2022 12:51:26 -0700 Subject: Merge pull request #8592 from devsnek/sig-handlers exit gracefully on sigint/sigterm --- src/yuzu/main.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/yuzu/main.h') diff --git a/src/yuzu/main.h b/src/yuzu/main.h index de0d10974..509bb91df 100644 --- a/src/yuzu/main.h +++ b/src/yuzu/main.h @@ -163,6 +163,8 @@ signals: void WebBrowserExtractOfflineRomFS(); void WebBrowserClosed(Service::AM::Applets::WebExitReason exit_reason, std::string last_url); + void SigInterrupt(); + public slots: void OnLoadComplete(); void OnExecuteProgram(std::size_t program_index); @@ -251,6 +253,12 @@ private: void RequestGameResume(); void closeEvent(QCloseEvent* event) override; +#ifdef __linux__ + void SetupSigInterrupts(); + static void HandleSigInterrupt(int); + void OnSigInterruptNotifierActivated(); +#endif + private slots: void OnStartGame(); void OnRestartGame(); @@ -419,6 +427,9 @@ private: bool is_tas_recording_dialog_active{}; #ifdef __linux__ + QSocketNotifier* sig_interrupt_notifier; + static std::array sig_interrupt_fds; + QDBusObjectPath wake_lock{}; #endif -- cgit v1.2.3