X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fcollectd.c;h=71eb940fb3251b6ffee1af4829fdc92c915460ce;hb=e628f39838a67b40d52dfb8425b4d8474fbd0550;hp=f556fc5fd43fdd28647b58e4a71b563929858cbb;hpb=af46a5f31a0e8d4279d63d8ca9232dbd433dfb25;p=collectd.git diff --git a/src/collectd.c b/src/collectd.c index f556fc5f..71eb940f 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; @@ -90,8 +90,7 @@ static int init_hostname (void) str = global_option_get ("Hostname"); if (str != NULL) { - strncpy (hostname_g, str, sizeof (hostname_g)); - hostname_g[sizeof (hostname_g) - 1] = '\0'; + sstrncpy (hostname_g, str, sizeof (hostname_g)); return (0); } @@ -127,8 +126,7 @@ static int init_hostname (void) if (ai_ptr->ai_canonname == NULL) continue; - strncpy (hostname_g, ai_ptr->ai_canonname, sizeof (hostname_g)); - hostname_g[sizeof (hostname_g) - 1] = '\0'; + sstrncpy (hostname_g, ai_ptr->ai_canonname, sizeof (hostname_g)); break; } @@ -397,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 @@ -486,9 +485,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) { @@ -538,6 +537,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 */