diff options
-rw-r--r-- | Source/charon/daemon.c | 19 | ||||
-rw-r--r-- | Source/charon/globals.h | 2 |
2 files changed, 21 insertions, 0 deletions
diff --git a/Source/charon/daemon.c b/Source/charon/daemon.c index 8636f0b46..d06d0a137 100644 --- a/Source/charon/daemon.c +++ b/Source/charon/daemon.c @@ -63,6 +63,8 @@ socket_t *global_socket = NULL; logger_manager_t *global_logger_manager = NULL; /** Global ike_sa-manager */ ike_sa_manager_t *global_ike_sa_manager = NULL; +/** Global configuration-manager */ +configuration_manager_t *global_configuration_manager = NULL; /** * logger_t object assigned for daemon things @@ -137,6 +139,16 @@ int main() logger->log(logger,CONTROL,"Fatal error: Needed Threads could not be started"); destroy_and_exit(-1); } + +// int i; +// for(i = 0; i<10; i++) +// { +// initiate_ike_sa_job_t *initiate_job; +// +// initiate_job = initiate_ike_sa_job_create("pinflb31"); +// global_event_queue->add_relative(global_event_queue, (job_t*)initiate_job, i * 1000); +// +// } logger->log(logger,CONTROL_MORE,"going to wait for exit signal"); /* go and handle signals*/ @@ -222,11 +234,13 @@ static status_t initialize_globals() global_job_queue = job_queue_create(); global_event_queue = event_queue_create(); global_send_queue = send_queue_create(); + global_configuration_manager = configuration_manager_create(); if ( (global_socket == NULL) || (global_job_queue == NULL) || (global_event_queue == NULL) || (global_send_queue == NULL) || + (global_configuration_manager == NULL) || (global_ike_sa_manager == NULL)) { return FAILED; @@ -260,6 +274,10 @@ static void destroy_globals() { global_ike_sa_manager->destroy(global_ike_sa_manager); } + if (global_ike_sa_manager != NULL) + { + global_configuration_manager->destroy(global_configuration_manager); + } } /** @@ -339,6 +357,7 @@ static void destroy_and_exit(int exit_code) logger->log(logger,CONTROL_MORE,"destroy logger"); global_logger_manager->destroy_logger(global_logger_manager,logger); logger->log(logger,CONTROL_MORE,"destroy logger_manager"); + logger->log(logger,CONTROL_MORE,"------------------------------------"); if (global_logger_manager != NULL) { global_logger_manager->destroy(global_logger_manager); diff --git a/Source/charon/globals.h b/Source/charon/globals.h index e600d6148..96d5e164b 100644 --- a/Source/charon/globals.h +++ b/Source/charon/globals.h @@ -29,6 +29,7 @@ #include "queues/event_queue.h" #include "utils/logger_manager.h" #include "ike_sa_manager.h" +#include "configuration_manager.h" extern socket_t *global_socket; @@ -37,5 +38,6 @@ extern job_queue_t *global_job_queue; extern event_queue_t *global_event_queue; extern logger_manager_t *global_logger_manager; extern ike_sa_manager_t *global_ike_sa_manager; +extern configuration_manager_t *global_configuration_manager; #endif /*GLOBALS_H_*/ |