diff options
Diffstat (limited to 'src/zenserver')
| -rw-r--r-- | src/zenserver/main.cpp | 1 | ||||
| -rw-r--r-- | src/zenserver/zenserver.cpp | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/zenserver/main.cpp b/src/zenserver/main.cpp index 4a5b98e8e..01e142801 100644 --- a/src/zenserver/main.cpp +++ b/src/zenserver/main.cpp @@ -325,6 +325,7 @@ main(int argc, char* argv[]) } signal(SIGINT, utils::SignalCallbackHandler); + signal(SIGTERM, utils::SignalCallbackHandler); try { diff --git a/src/zenserver/zenserver.cpp b/src/zenserver/zenserver.cpp index 6b0760343..d8176678d 100644 --- a/src/zenserver/zenserver.cpp +++ b/src/zenserver/zenserver.cpp @@ -847,6 +847,12 @@ ZenServer::CheckSigInt() RequestExit(128 + SIGINT); return; } + if (utils::SignalCounter[SIGTERM] > 0) + { + ZEN_INFO("SIGTERM triggered for process {}, exiting", zen::GetCurrentProcessId()); + RequestExit(128 + SIGTERM); + return; + } EnqueueSigIntTimer(); } |