X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fcollectd.c;h=9526ec915cbe4733c384c48792aa23a005662b8b;hb=074b4980bc75bea6826e6a38dcc6e193a721b2a8;hp=38d1b868ade9ebbabc451a32558783ece202cf53;hpb=bab707fe46b2ef69f391864f3bb08b4dca19634e;p=collectd.git diff --git a/src/collectd.c b/src/collectd.c index 38d1b868..9526ec91 100644 --- a/src/collectd.c +++ b/src/collectd.c @@ -50,7 +50,7 @@ static int loop = 0; static void *do_flush (void *arg) { INFO ("Flushing all data."); - plugin_flush_all (-1); + plugin_flush (NULL, -1, NULL); INFO ("Finished flushing all data."); pthread_exit (NULL); return NULL; @@ -244,7 +244,7 @@ static void update_kstat (void) /* TODO * Remove all settings but `-f' and `-C' */ -static void exit_usage (void) +static void exit_usage (int status) { printf ("Usage: "PACKAGE" [OPTIONS]\n\n" @@ -266,8 +266,8 @@ static void exit_usage (void) "\n"PACKAGE" "VERSION", http://collectd.org/\n" "by Florian octo Forster \n" "for contributions see `AUTHORS'\n"); - exit (0); -} /* static void exit_usage (char *name) */ + exit (status); +} /* static void exit_usage (int status) */ static int do_init (void) { @@ -395,11 +395,12 @@ int main (int argc, char **argv) struct sigaction sig_int_action; struct sigaction sig_term_action; struct sigaction sig_usr1_action; + struct sigaction sig_pipe_action; char *configfile = CONFIGFILE; int test_config = 0; const char *basedir; #if COLLECT_DAEMON - struct sigaction sigChldAction; + struct sigaction sig_chld_action; pid_t pid; int daemonize = 1; #endif @@ -435,11 +436,16 @@ int main (int argc, char **argv) break; #endif /* COLLECT_DAEMON */ case 'h': + exit_usage (0); + break; default: - exit_usage (); + exit_usage (1); } /* switch (c) */ } /* while (1) */ + if (optind < argc) + exit_usage (1); + /* * Read options from the config file, the environment and the command * line (in that order, with later options overwriting previous ones in @@ -484,9 +490,9 @@ int main (int argc, char **argv) /* * fork off child */ - memset (&sigChldAction, '\0', sizeof (sigChldAction)); - sigChldAction.sa_handler = SIG_IGN; - sigaction (SIGCHLD, &sigChldAction, NULL); + memset (&sig_chld_action, '\0', sizeof (sig_chld_action)); + sig_chld_action.sa_handler = SIG_IGN; + sigaction (SIGCHLD, &sig_chld_action, NULL); if (daemonize) { @@ -536,6 +542,10 @@ int main (int argc, char **argv) } /* if (daemonize) */ #endif /* COLLECT_DAEMON */ + memset (&sig_pipe_action, '\0', sizeof (sig_pipe_action)); + sig_pipe_action.sa_handler = SIG_IGN; + sigaction (SIGPIPE, &sig_pipe_action, NULL); + /* * install signal handlers */