diff options
| author | untodesu <kirill@untode.su> | 2025-03-22 16:37:53 +0500 |
|---|---|---|
| committer | untodesu <kirill@untode.su> | 2025-03-22 16:37:53 +0500 |
| commit | b178edea533e74b68d0d1a303be98d5454256887 (patch) | |
| tree | 3f76966664889af6df18722661cbff479589d6ba /game/client | |
| parent | de5abf13da7e2a7663929da9d76be2161e574b64 (diff) | |
| download | voxelius-b178edea533e74b68d0d1a303be98d5454256887.tar.bz2 voxelius-b178edea533e74b68d0d1a303be98d5454256887.zip | |
Handle termination signals on client-side
Diffstat (limited to 'game/client')
| -rw-r--r-- | game/client/main.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/game/client/main.cc b/game/client/main.cc index 277b278..86e9783 100644 --- a/game/client/main.cc +++ b/game/client/main.cc @@ -127,6 +127,12 @@ static void GLAD_API_PTR on_opengl_message(GLenum source, GLenum type, GLuint id spdlog::info("opengl: {}", reinterpret_cast<const char *>(message)); } +static void on_termination_signal(int) +{ + spdlog::warn("client: received termination signal"); + glfwSetWindowShouldClose(globals::window, true); +} + int main(int argc, char **argv) { cmdline::create(argc, argv); @@ -178,6 +184,9 @@ int main(int argc, char **argv) std::terminate(); } + std::signal(SIGINT, &on_termination_signal); + std::signal(SIGTERM, &on_termination_signal); + glfwMakeContextCurrent(globals::window); glfwSwapInterval(1); |
