move signal handling in a separate function

This commit is contained in:
Slavasil 2024-11-15 11:04:26 +03:00
parent d157103a68
commit b0148b64e4

View File

@ -7,14 +7,18 @@ void on_signal(uv_signal_t *h, int signum) {
uv_stop(uv_default_loop()); uv_stop(uv_default_loop());
} }
void create_signal_handles(uv_loop_t *loop, uv_signal_t handles[2]) {
uv_signal_init(loop, handles);
uv_signal_start(handles, on_signal, SIGINT);
uv_signal_init(loop, handles + 1);
uv_signal_start(handles + 1, on_signal, SIGTERM);
}
int main() { int main() {
uv_loop_t *loop = uv_default_loop(); uv_loop_t *loop = uv_default_loop();
uv_signal_t signalHandles[2] = {}; uv_signal_t signalHandles[2] = {};
uv_signal_init(loop, signalHandles); create_signal_handles(loop, signalHandles);
uv_signal_start(signalHandles, on_signal, SIGINT);
uv_signal_init(loop, signalHandles + 1);
uv_signal_start(signalHandles + 1, on_signal, SIGTERM);
uv_run(loop, UV_RUN_DEFAULT); uv_run(loop, UV_RUN_DEFAULT);
spdlog::info("event loop ended"); spdlog::info("event loop ended");