summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2025-03-10 18:45:38 +0800
committerlittleblack111 <littleblack11111@gmail.com>2025-03-20 23:44:58 +0800
commitc1ab9d24e9fb638eb15b600ab21b3898388f0872 (patch)
treec7ac4a415e531068ead3daeedac3e87d1f804ac3 /src
parent129bfbcf1d54d6b31520a6ae4eaaa35056eb44d9 (diff)
signal: quick_exit as fallback if stuck at exit
Diffstat (limited to 'src')
-rw-r--r--src/main.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 463d44d..ab8cc6c 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -9,6 +9,10 @@ static void handleSignal(int sig) {
switch (sig) {
default:
+ // quick_exit(less cleanup) if the cleanup took too long
+ signal(SIGALRM, [](int) { std::quick_exit(1); });
+ alarm(5);
+
std::exit(0);
break;
}