diff --git a/src/naemon/broker.c b/src/naemon/broker.c index e24afaa4..a1b950c4 100644 --- a/src/naemon/broker.c +++ b/src/naemon/broker.c @@ -12,6 +12,12 @@ #include #include +static struct kvvec global_store = KVVEC_INITIALIZER; + +struct kvvec *get_global_store(void) +{ + return &global_store; +} /* gets timestamp for use by broker */ static inline void get_broker_timestamp(struct timeval *timestamp) diff --git a/src/naemon/broker.h b/src/naemon/broker.h index 9ebe6b59..47cc7ace 100644 --- a/src/naemon/broker.h +++ b/src/naemon/broker.h @@ -167,6 +167,7 @@ NAGIOS_BEGIN_DECL +struct kvvec *get_global_store(void); void broker_program_state(int, int, int); void broker_log_data(int, int, int, char *, unsigned long, time_t); int broker_event_handler(int, int, int, int, void *, int, int, struct timeval, struct timeval, double, int, int, int, char *, char *, char *); diff --git a/src/naemon/naemon.c b/src/naemon/naemon.c index 86d26ee2..04edc4a8 100644 --- a/src/naemon/naemon.c +++ b/src/naemon/naemon.c @@ -135,6 +135,7 @@ int main(int argc, char **argv) nagios_macros *mac; const char *worker_socket = NULL; int i; + struct kvvec *global_store; #ifdef HAVE_GETOPT_H int option_index = 0; @@ -227,6 +228,11 @@ int main(int argc, char **argv) G_LOG_FLAG_RECURSION, nm_g_log_handler, NULL); mac = get_global_macros(); + global_store = get_global_store(); + if (global_store && !kvvec_init(global_store, 0)) { + exit(ERROR); + } + /* if we're a worker we can skip everything below */ if (worker_socket) { exit(nm_core_worker(worker_socket));