diff options
author | Trumeet <yuuta@yuuta.moe> | 2022-07-26 17:42:18 -0700 |
---|---|---|
committer | Trumeet <yuuta@yuuta.moe> | 2022-07-26 17:42:18 -0700 |
commit | 04c2dcffc0fa862af56eb5ff6fb57fd672745c3e (patch) | |
tree | e920bcafb4e4976551b1426fb068bac3ed6bb11a /client/acronc/handler_signal.c | |
parent | 7099a86ca74fa637f26af38674f80fb8efd5f6fa (diff) | |
download | acron-04c2dcffc0fa862af56eb5ff6fb57fd672745c3e.tar acron-04c2dcffc0fa862af56eb5ff6fb57fd672745c3e.tar.gz acron-04c2dcffc0fa862af56eb5ff6fb57fd672745c3e.tar.bz2 acron-04c2dcffc0fa862af56eb5ff6fb57fd672745c3e.zip |
fix(acronc): code cleanup
Signed-off-by: Trumeet <yuuta@yuuta.moe>
Diffstat (limited to 'client/acronc/handler_signal.c')
-rw-r--r-- | client/acronc/handler_signal.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/client/acronc/handler_signal.c b/client/acronc/handler_signal.c index 1d0ba7e..d5df9d4 100644 --- a/client/acronc/handler_signal.c +++ b/client/acronc/handler_signal.c @@ -6,35 +6,26 @@ #include "log.h" static uv_signal_t sigint; -static struct uv_obj obj_sigint = { - .obj = &sigint, - .running = false -}; static uv_signal_t sigterm; -static struct uv_obj obj_sigterm = { - .obj = &sigterm, - .running = false -}; static void on_signal(uv_signal_t *handle, int signum) { LOGDV("on_signal(handle = %p): %d", handle, signum); + void (*on_quit)(void) = handle->data; uv_signal_stop(&sigint); - obj_sigint.running = false; uv_signal_stop(&sigterm); - obj_sigterm.running = false; - on_exit(EXIT_SIGNAL); + on_quit(); } -int h_signal(void) { +int h_signal(void (*on_quit)(void)) { int r; if ((r = uv_signal_init(loop, &sigint))) return r; + sigint.data = on_quit; if ((r = uv_signal_start(&sigint, on_signal, SIGINT))) return r; - obj_sigint.running = true; if ((r = uv_signal_init(loop, &sigterm))) return r; + sigterm.data = on_quit; if ((r = uv_signal_start(&sigterm, on_signal, SIGTERM))) return r; - obj_sigterm.running = true; return 0; } |