X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fcollectd.c;h=71eb940fb3251b6ffee1af4829fdc92c915460ce;hb=fd9c88963b04c9e9050a952ba0f018493e8b7638;hp=d2ca56870c9e146a193ba498018d6952601c5513;hpb=e096f0f1cd96f48533c38c554b342d749d2ac51a;p=collectd.git diff --git a/src/collectd.c b/src/collectd.c index d2ca5687..71eb940f 100644 --- a/src/collectd.c +++ b/src/collectd.c @@ -32,6 +32,10 @@ #include "plugin.h" #include "configfile.h" +#if HAVE_STATGRAB_H +# include +#endif + /* * Global variables */ @@ -46,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; @@ -86,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); } @@ -123,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; } @@ -393,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 @@ -482,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) { @@ -534,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 */