X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fdaemon%2Fcollectd.c;h=a72ff35f2fc21ec042e809d64967100f35f5a9fd;hb=21058a13ed34ade6d2de0f54e4216b255d033af1;hp=7b324e1e3a6513b47bf453e634c91bedfa831bea;hpb=ca4a6c8a856a9012270ec10389b08d54e70e3401;p=collectd.git diff --git a/src/daemon/collectd.c b/src/daemon/collectd.c index 7b324e1e..a72ff35f 100644 --- a/src/daemon/collectd.c +++ b/src/daemon/collectd.c @@ -196,7 +196,7 @@ static int change_basedir (const char *orig_dir) while ((dirlen > 0) && (dir[dirlen - 1] == '/')) dir[--dirlen] = '\0'; - if (dirlen <= 0) { + if (dirlen == 0) { free (dir); return (-1); } @@ -269,6 +269,7 @@ static void update_kstat (void) /* TODO * Remove all settings but `-f' and `-C' */ +__attribute__((noreturn)) static void exit_usage (int status) { printf ("Usage: "PACKAGE_NAME" [OPTIONS]\n\n" @@ -331,9 +332,7 @@ static int do_init (void) } #endif - plugin_init_all (); - - return (0); + return plugin_init_all (); } /* int do_init () */ @@ -387,8 +386,7 @@ static int do_loop (void) static int do_shutdown (void) { - plugin_shutdown_all (); - return (0); + return plugin_shutdown_all (); } /* int do_shutdown */ #if COLLECT_DAEMON @@ -422,7 +420,7 @@ static int pidfile_remove (void) #endif /* COLLECT_DAEMON */ #ifdef KERNEL_LINUX -int notify_upstart (void) +static int notify_upstart (void) { char const *upstart_job = getenv("UPSTART_JOB"); @@ -442,7 +440,7 @@ int notify_upstart (void) return 1; } -int notify_systemd (void) +static int notify_systemd (void) { int fd; const char *notifysocket; @@ -518,7 +516,7 @@ int main (int argc, char **argv) struct sigaction sig_term_action; struct sigaction sig_usr1_action; struct sigaction sig_pipe_action; - char *configfile = CONFIGFILE; + const char *configfile = CONFIGFILE; int test_config = 0; int test_readall = 0; const char *basedir; @@ -728,12 +726,19 @@ int main (int argc, char **argv) /* * run the actual loops */ - do_init (); + if (do_init () != 0) + { + ERROR ("Error: one or more plugin init callbacks failed."); + exit_status = 1; + } if (test_readall) { if (plugin_read_all_once () != 0) + { + ERROR ("Error: one or more plugin read callbacks failed."); exit_status = 1; + } } else { @@ -744,7 +749,11 @@ int main (int argc, char **argv) /* close syslog */ INFO ("Exiting normally."); - do_shutdown (); + if (do_shutdown () != 0) + { + ERROR ("Error: one or more plugin shutdown callbacks failed."); + exit_status = 1; + } #if COLLECT_DAEMON if (daemonize)