From 6b649799dedd72b783e3c24b485fbf3eabd6039e Mon Sep 17 00:00:00 2001 From: Damian Bogel Date: Wed, 9 Sep 2015 11:37:05 -0400 Subject: [PATCH] Common stuff now builds as a library. --- Makefile.am | 2 ++ src/daemon/collectd.c | 20 +++++--------------- src/daemon/collectd.h | 7 +------ src/daemon/globals.c | 13 +++++++++++++ src/daemon/globals.h | 14 ++++++++++++++ 5 files changed, 35 insertions(+), 21 deletions(-) create mode 100644 src/daemon/globals.c create mode 100644 src/daemon/globals.h diff --git a/Makefile.am b/Makefile.am index 04636b3f..ae027a36 100644 --- a/Makefile.am +++ b/Makefile.am @@ -199,6 +199,8 @@ collectd_SOURCES = \ src/daemon/configfile.h \ src/daemon/filter_chain.c \ src/daemon/filter_chain.h \ + src/daemon/globals.c \ + src/daemon/globals.h \ src/daemon/meta_data.c \ src/daemon/meta_data.h \ src/daemon/plugin.c \ diff --git a/src/daemon/collectd.c b/src/daemon/collectd.c index af8fb568..9ab929b9 100644 --- a/src/daemon/collectd.c +++ b/src/daemon/collectd.c @@ -47,16 +47,6 @@ #define COLLECTD_LOCALE "C" #endif -/* - * Global variables - */ -char hostname_g[DATA_MAX_NAME_LEN]; -cdtime_t interval_g; -int timeout_g; -#if HAVE_LIBKSTAT -kstat_ctl_t *kc; -#endif /* HAVE_LIBKSTAT */ - static int loop = 0; static void *do_flush(void __attribute__((unused)) * arg) { @@ -93,11 +83,11 @@ static int init_hostname(void) { str = global_option_get("Hostname"); if ((str != NULL) && (str[0] != 0)) { - sstrncpy(hostname_g, str, sizeof(hostname_g)); + sstrncpy(hostname_g, str, hostname_g_size); return 0; } - if (gethostname(hostname_g, sizeof(hostname_g)) != 0) { + if (gethostname(hostname_g, hostname_g_size) != 0) { fprintf(stderr, "`gethostname' failed and no " "hostname was configured.\n"); return -1; @@ -125,7 +115,7 @@ static int init_hostname(void) { if (ai_ptr->ai_canonname == NULL) continue; - sstrncpy(hostname_g, ai_ptr->ai_canonname, sizeof(hostname_g)); + sstrncpy(hostname_g, ai_ptr->ai_canonname, hostname_g_size); break; } @@ -617,7 +607,7 @@ int main(int argc, char **argv) { status); return 1; } - } /* if (daemonize) */ + } /* if (config.daemonize) */ #endif /* COLLECT_DAEMON */ struct sigaction sig_pipe_action = {.sa_handler = SIG_IGN}; @@ -681,7 +671,7 @@ int main(int argc, char **argv) { } #if COLLECT_DAEMON - if (daemonize) + if (config.daemonize) pidfile_remove(); #endif /* COLLECT_DAEMON */ diff --git a/src/daemon/collectd.h b/src/daemon/collectd.h index 01d484ee..22311950 100644 --- a/src/daemon/collectd.h +++ b/src/daemon/collectd.h @@ -267,11 +267,6 @@ #define GAUGE_FORMAT "%.15g" #endif -/* Type for time as used by "utils_time.h" */ -typedef uint64_t cdtime_t; - -extern char hostname_g[]; -extern cdtime_t interval_g; -extern int timeout_g; +#include "globals.h" #endif /* COLLECTD_H */ diff --git a/src/daemon/globals.c b/src/daemon/globals.c new file mode 100644 index 00000000..296f8ba9 --- /dev/null +++ b/src/daemon/globals.c @@ -0,0 +1,13 @@ +#include "globals.h" +#include "plugin.h" +/* + * Global variables + */ +char hostname_g[DATA_MAX_NAME_LEN]; +const int hostname_g_size = sizeof (hostname_g); +cdtime_t interval_g; +int pidfile_from_cli = 0; +int timeout_g; +#if HAVE_LIBKSTAT +kstat_ctl_t *kc; +#endif /* HAVE_LIBKSTAT */ diff --git a/src/daemon/globals.h b/src/daemon/globals.h new file mode 100644 index 00000000..b0a8f3a1 --- /dev/null +++ b/src/daemon/globals.h @@ -0,0 +1,14 @@ +#ifndef GLOBALS_H +#define GLOBALS_H + +#include + +/* Type for time as used by "utils_time.h" */ +typedef uint64_t cdtime_t; + +extern char hostname_g[]; +extern const int hostname_g_size; +extern cdtime_t interval_g; +extern int pidfile_from_cli; +extern int timeout_g; +#endif /* GLOBALS_H */ -- 2.11.0