Common stuff now builds as a library.
authorDamian Bogel <kele@google.com>
Wed, 9 Sep 2015 15:37:05 +0000 (11:37 -0400)
committerFlorian Forster <octo@collectd.org>
Fri, 6 Oct 2017 05:53:00 +0000 (07:53 +0200)
Makefile.am
src/daemon/collectd.c
src/daemon/collectd.h
src/daemon/globals.c [new file with mode: 0644]
src/daemon/globals.h [new file with mode: 0644]

index 04636b3..ae027a3 100644 (file)
@@ -199,6 +199,8 @@ collectd_SOURCES = \
        src/daemon/configfile.h \
        src/daemon/filter_chain.c \
        src/daemon/filter_chain.h \
        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 \
        src/daemon/meta_data.c \
        src/daemon/meta_data.h \
        src/daemon/plugin.c \
index af8fb56..9ab929b 100644 (file)
 #define COLLECTD_LOCALE "C"
 #endif
 
 #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) {
 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)) {
 
   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;
   }
 
     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;
     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;
 
     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;
   }
 
     break;
   }
 
@@ -617,7 +607,7 @@ int main(int argc, char **argv) {
             status);
       return 1;
     }
             status);
       return 1;
     }
-  }    /* if (daemonize) */
+  }    /* if (config.daemonize) */
 #endif /* COLLECT_DAEMON */
 
   struct sigaction sig_pipe_action = {.sa_handler = SIG_IGN};
 #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 COLLECT_DAEMON
-  if (daemonize)
+  if (config.daemonize)
     pidfile_remove();
 #endif /* COLLECT_DAEMON */
 
     pidfile_remove();
 #endif /* COLLECT_DAEMON */
 
index 01d484e..2231195 100644 (file)
 #define GAUGE_FORMAT "%.15g"
 #endif
 
 #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 */
 
 #endif /* COLLECTD_H */
diff --git a/src/daemon/globals.c b/src/daemon/globals.c
new file mode 100644 (file)
index 0000000..296f8ba
--- /dev/null
@@ -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 (file)
index 0000000..b0a8f3a
--- /dev/null
@@ -0,0 +1,14 @@
+#ifndef GLOBALS_H
+#define GLOBALS_H
+
+#include <inttypes.h>
+
+/* 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 */