From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Martin Wilck Date: Wed, 23 Sep 2020 17:49:02 +0200 Subject: [PATCH] multipathd: add helper for systemd notification at exit Add sd_notify_exit(). Reviewed-by: Benjamin Marzinski Signed-off-by: Benjamin Marzinski --- multipathd/main.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/multipathd/main.c b/multipathd/main.c index f6b80668..07068e4a 100644 --- a/multipathd/main.c +++ b/multipathd/main.c @@ -3024,6 +3024,17 @@ static void cleanup_rcu(void) rcu_unregister_thread(); } +static int sd_notify_exit(int err) +{ +#ifdef USE_SYSTEMD + char msg[24]; + + snprintf(msg, sizeof(msg), "ERRNO=%d", err); + sd_notify(0, msg); +#endif + return err; +} + static int child (__attribute__((unused)) void *param) { @@ -3216,19 +3227,12 @@ child (__attribute__((unused)) void *param) #ifdef _DEBUG_ dbg_free_final(NULL); #endif - -#ifdef USE_SYSTEMD - sd_notify(0, "ERRNO=0"); -#endif - exit(0); + exit(sd_notify_exit(0)); failed: -#ifdef USE_SYSTEMD - sd_notify(0, "ERRNO=1"); -#endif if (pid_fd >= 0) close(pid_fd); - exit(1); + exit(sd_notify_exit(1)); } static int