From 3a76d1fc1a94c2c8f2a1df2c34551e6a7b661f58 Mon Sep 17 00:00:00 2001 From: Sukchan Lee Date: Mon, 27 Feb 2017 15:09:41 +0900 Subject: [PATCH] initialization done --- main.c | 20 +++----------------- src/Makefile.am | 1 + src/cellwire.h | 2 +- src/init.c | 16 ++++++++++++++-- test/testutil.c | 11 ++--------- 5 files changed, 21 insertions(+), 29 deletions(-) diff --git a/main.c b/main.c index 8515372c8..2c3a495af 100644 --- a/main.c +++ b/main.c @@ -3,19 +3,12 @@ */ /* Core library */ -#include "core.h" -#include "core_general.h" #define TRACE_MODULE _main_ #include "core_debug.h" -#include "core_cond.h" #include "core_signal.h" -#include "core_net.h" -#include "logger.h" #include "symtbl.h" -#include "s6a_lib.h" - /* Server */ #include "cellwire.h" @@ -131,28 +124,21 @@ int main(int argc, char *argv[]) d_trace_level(&_s1ap_path, 100); } - core_initialize(); - - if (log_path) - logger_start(optarg); - - if (cellwire_initialize(config_path) != CORE_OK) + if (cellwire_initialize(config_path, log_path) != CORE_OK) { d_fatal("CellWire initialization failed. Aborted"); return EXIT_FAILURE; } - + threads_start(); + show_version(); d_info("CellWire daemon start"); - - threads_start(); signal_thread(check_signal); d_info("CellWire daemon terminating..."); threads_stop(); cellwire_terminate(); - core_terminate(); return EXIT_SUCCESS; } diff --git a/src/Makefile.am b/src/Makefile.am index 3e011e731..f8c9261ba 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -32,6 +32,7 @@ libcellwire_la_LIBADD = \ AM_CPPFLAGS = \ -I$(top_srcdir)/include \ -I$(top_srcdir)/lib/core/include \ + -I$(top_srcdir)/lib/logger \ -I$(top_srcdir)/lib/message/s1ap/asn1c \ -I$(top_srcdir)/lib/message/s1ap \ -I$(top_srcdir)/lib/message/nas \ diff --git a/src/cellwire.h b/src/cellwire.h index b41062e9c..8497eeb83 100644 --- a/src/cellwire.h +++ b/src/cellwire.h @@ -12,7 +12,7 @@ extern "C" { #define GTP_C_UDP_PORT 2123 #define GTP_U_UDP_PORT 2152 -CORE_DECLARE(status_t) cellwire_initialize(char *config_path); +CORE_DECLARE(status_t) cellwire_initialize(char *config_path, char *log_path); CORE_DECLARE_NONSTD(void) cellwire_terminate(void); CORE_DECLARE(void) threads_start(void); diff --git a/src/init.c b/src/init.c index 82cc9f5c4..3a94dc9c3 100644 --- a/src/init.c +++ b/src/init.c @@ -4,9 +4,11 @@ /* Core library */ #define TRACE_MODULE _init +#include "core_general.h" #include "core_debug.h" #include "core_thread.h" +#include "logger.h" #include "s6a_lib.h" #include "context.h" @@ -17,12 +19,22 @@ static thread_id mme_sm_thread; static thread_id mme_net_thread; -status_t cellwire_initialize(char *config_path) +status_t cellwire_initialize(char *config_path, char *log_path) { status_t rv; + core_initialize(); + srand(time(NULL)*getpid()); + if (config_path) + { + /* TODO */ + } + + if (log_path) + logger_start(log_path); + rv = context_init(); if (rv != CORE_OK) return rv; @@ -35,8 +47,8 @@ status_t cellwire_initialize(char *config_path) void cellwire_terminate(void) { s6a_fd_final(); - context_final(); + core_terminate(); } void *THREAD_FUNC mme_sm_main(void *data) diff --git a/test/testutil.c b/test/testutil.c index d5d562007..8f2c1233b 100644 --- a/test/testutil.c +++ b/test/testutil.c @@ -14,7 +14,6 @@ * limitations under the License. */ -#include "core.h" #include "core_debug.h" #include "cellwire.h" @@ -40,21 +39,15 @@ void core_assert_ok(abts_case* tc, const char* context, status_t rv, void test_terminate(void) { threads_stop(); - d_msg_to(D_MSG_TO_STDOUT, 1); - - core_terminate(); cellwire_terminate(); } void test_initialize(void) { - core_initialize(); - cellwire_initialize(NULL); - - threads_start(); - + cellwire_initialize(NULL, NULL); d_msg_to(D_MSG_TO_STDOUT, 0); + threads_start(); inet_pton(AF_INET, "127.0.0.1", &mme_self()->enb_local_addr);