From 28b4e6dde2de15a09ee74df5dccfb8c853642bf9 Mon Sep 17 00:00:00 2001 From: James Laird Date: Mon, 14 Oct 2013 19:50:48 +1100 Subject: [PATCH] Return a nonzero value on error --- common.c | 2 +- common.h | 2 +- shairport.c | 9 +++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/common.c b/common.c index 8c9869e6..1a2653d6 100644 --- a/common.c +++ b/common.c @@ -53,7 +53,7 @@ void die(char *format, ...) { va_end(args); fprintf(stderr, "\n"); - shairport_shutdown(); + shairport_shutdown(1); } void warn(char *format, ...) { diff --git a/common.h b/common.h index 6202f436..d7f2a21d 100644 --- a/common.h +++ b/common.h @@ -46,7 +46,7 @@ uint8_t *rsa_apply(uint8_t *input, int inlen, int *outlen, int mode); extern shairport_cfg config; -void shairport_shutdown(void); +void shairport_shutdown(int retval); void shairport_startup_complete(void); #endif // _COMMON_H diff --git a/shairport.c b/shairport.c index 45b55796..b30f4948 100644 --- a/shairport.c +++ b/shairport.c @@ -41,7 +41,8 @@ static void log_setup(); static int shutting_down = 0; -void shairport_shutdown(void) { + +void shairport_shutdown(int retval) { if (shutting_down) return; shutting_down = 1; @@ -52,13 +53,13 @@ void shairport_shutdown(void) { config.output->deinit(); daemon_exit(); // This does nothing if not in daemon mode - exit(0); + exit(retval); } static void sig_ignore(int foo, siginfo_t *bar, void *baz) { } static void sig_shutdown(int foo, siginfo_t *bar, void *baz) { - shairport_shutdown(); + shairport_shutdown(0); } static void sig_child(int foo, siginfo_t *bar, void *baz) { @@ -282,6 +283,6 @@ int main(int argc, char **argv) { rtsp_listen_loop(); // should not. - shairport_shutdown(); + shairport_shutdown(1); return 1; }