From 67cd75f9fa0e9c2140cbef08a7774760470e32a1 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Thu, 12 May 2011 16:02:07 +0200 Subject: misc: Use the osmo_init code for signals and logging Use the libosmocore code to ignore certain signals by default (e.g. SIGHUP, SIGPIPE) and use the new code to create a default stderr logging target and initialize it properly. --- openbsc/src/gprs/gb_proxy_main.c | 17 +++++++---------- openbsc/src/gprs/sgsn_main.c | 17 +++++++---------- openbsc/src/ipaccess/ipaccess-config.c | 14 +++++--------- openbsc/src/ipaccess/ipaccess-proxy.c | 17 +++++++---------- openbsc/src/osmo-bsc/osmo_bsc_main.c | 18 ++++++++---------- openbsc/src/osmo-bsc_mgcp/mgcp_main.c | 18 +++++++++--------- openbsc/src/osmo-bsc_nat/bsc_nat.c | 17 +++++++---------- openbsc/src/osmo-nitb/bsc_hack.c | 20 ++++++++------------ openbsc/src/utils/bs11_config.c | 10 +++------- openbsc/tests/bsc-nat/bsc_nat_test.c | 8 ++------ openbsc/tests/mgcp/mgcp_test.c | 7 ++----- 11 files changed, 65 insertions(+), 98 deletions(-) (limited to 'openbsc') diff --git a/openbsc/src/gprs/gb_proxy_main.c b/openbsc/src/gprs/gb_proxy_main.c index 9ef90985a..028f9896f 100644 --- a/openbsc/src/gprs/gb_proxy_main.c +++ b/openbsc/src/gprs/gb_proxy_main.c @@ -32,6 +32,7 @@ #include #include +#include #include #include #include @@ -64,7 +65,6 @@ const char *openbsc_copyright = "This is free software: you are free to change and redistribute it.\r\n" "There is NO WARRANTY, to the extent permitted by law.\r\n"; -static struct log_target *stderr_target; static char *config_file = "osmo_gbproxy.cfg"; struct gbproxy_config gbcfg; static int daemonize = 0; @@ -162,10 +162,10 @@ static void handle_options(int argc, char **argv) print_help(); exit(0); case 's': - log_set_use_color(stderr_target, 0); + log_set_use_color(osmo_stderr_target, 0); break; case 'd': - log_parse_category_mask(stderr_target, optarg); + log_parse_category_mask(osmo_stderr_target, optarg); break; case 'D': daemonize = 1; @@ -174,10 +174,10 @@ static void handle_options(int argc, char **argv) config_file = strdup(optarg); break; case 'T': - log_set_print_timestamp(stderr_target, 1); + log_set_print_timestamp(osmo_stderr_target, 1); break; case 'e': - log_set_log_level(stderr_target, atoi(optarg)); + log_set_log_level(osmo_stderr_target, atoi(optarg)); break; case 'V': print_version(1); @@ -212,12 +212,9 @@ int main(int argc, char **argv) signal(SIGABRT, &signal_handler); signal(SIGUSR1, &signal_handler); signal(SIGUSR2, &signal_handler); - signal(SIGPIPE, SIG_IGN); + osmo_init_ignore_signals(); - log_init(&log_info); - stderr_target = log_target_create_stderr(); - log_add_target(stderr_target); - log_set_all_filter(stderr_target, 1); + osmo_init_logging(&log_info); vty_info.copyright = openbsc_copyright; vty_init(&vty_info); diff --git a/openbsc/src/gprs/sgsn_main.c b/openbsc/src/gprs/sgsn_main.c index 5fdc5b726..bfa2e52c8 100644 --- a/openbsc/src/gprs/sgsn_main.c +++ b/openbsc/src/gprs/sgsn_main.c @@ -32,6 +32,7 @@ #include #include +#include #include #include #include @@ -62,7 +63,6 @@ void subscr_put() { abort(); } void *tall_bsc_ctx; struct gprs_ns_inst *sgsn_nsi; -static struct log_target *stderr_target; static int daemonize = 0; const char *openbsc_copyright = "Copyright (C) 2010 Harald Welte and On-Waves\r\n" @@ -174,10 +174,10 @@ static void handle_options(int argc, char **argv) print_help(); exit(0); case 's': - log_set_use_color(stderr_target, 0); + log_set_use_color(osmo_stderr_target, 0); break; case 'd': - log_parse_category_mask(stderr_target, optarg); + log_parse_category_mask(osmo_stderr_target, optarg); break; case 'D': daemonize = 1; @@ -186,10 +186,10 @@ static void handle_options(int argc, char **argv) sgsn_inst.config_file = strdup(optarg); break; case 'T': - log_set_print_timestamp(stderr_target, 1); + log_set_print_timestamp(osmo_stderr_target, 1); break; case 'e': - log_set_log_level(stderr_target, atoi(optarg)); + log_set_log_level(osmo_stderr_target, atoi(optarg)); break; default: /* ignore */ @@ -211,12 +211,9 @@ int main(int argc, char **argv) signal(SIGABRT, &signal_handler); signal(SIGUSR1, &signal_handler); signal(SIGUSR2, &signal_handler); - signal(SIGPIPE, SIG_IGN); - log_init(&log_info); - stderr_target = log_target_create_stderr(); - log_add_target(stderr_target); - log_set_all_filter(stderr_target, 1); + osmo_init_ignore_signals(); + osmo_init_logging(&log_info); vty_info.copyright = openbsc_copyright; vty_init(&vty_info); diff --git a/openbsc/src/ipaccess/ipaccess-config.c b/openbsc/src/ipaccess/ipaccess-config.c index af0ea00cf..9d0e2dbda 100644 --- a/openbsc/src/ipaccess/ipaccess-config.c +++ b/openbsc/src/ipaccess/ipaccess-config.c @@ -34,6 +34,7 @@ #include +#include #include #include #include @@ -761,14 +762,9 @@ int main(int argc, char **argv) struct gsm_bts *bts; struct sockaddr_in sin; int rc, option_index = 0, stream_id = 0xff; - struct log_target *stderr_target; - - log_init(&log_info); - stderr_target = log_target_create_stderr(); - log_add_target(stderr_target); - log_set_all_filter(stderr_target, 1); - log_set_log_level(stderr_target, 0); - log_parse_category_mask(stderr_target, "DNM,0"); + + osmo_init_logging(&log_info); + log_parse_category_mask(osmo_stderr_target, "DNM,0"); bts_model_nanobts_init(); printf("ipaccess-config (C) 2009-2010 by Harald Welte and others\n"); @@ -871,7 +867,7 @@ int main(int argc, char **argv) dump_files = 1; break; case 'c': - log_set_use_color(stderr_target, 0); + log_set_use_color(osmo_stderr_target, 0); break; case 'p': loop_tests = 1; diff --git a/openbsc/src/ipaccess/ipaccess-proxy.c b/openbsc/src/ipaccess/ipaccess-proxy.c index bbd5e32a1..b4d17e2c7 100644 --- a/openbsc/src/ipaccess/ipaccess-proxy.c +++ b/openbsc/src/ipaccess/ipaccess-proxy.c @@ -38,6 +38,7 @@ #include #include +#include #include #include #include @@ -46,8 +47,6 @@ #include #include -static struct log_target *stderr_target; - /* one instance of an ip.access protocol proxy */ struct ipa_proxy { /* socket where we listen for incoming OML from BTS */ @@ -1143,13 +1142,13 @@ static void handle_options(int argc, char** argv) gprs_ns_ipaddr = optarg; break; case 's': - log_set_use_color(stderr_target, 0); + log_set_use_color(osmo_stderr_target, 0); break; case 'T': - log_set_print_timestamp(stderr_target, 1); + log_set_print_timestamp(osmo_stderr_target, 1); break; case 'e': - log_set_log_level(stderr_target, atoi(optarg)); + log_set_log_level(osmo_stderr_target, atoi(optarg)); break; case '?': if (optopt) { @@ -1184,11 +1183,8 @@ int main(int argc, char **argv) tall_bsc_ctx = talloc_named_const(NULL, 1, "ipaccess-proxy"); - log_init(&log_info); - stderr_target = log_target_create_stderr(); - log_add_target(stderr_target); - log_set_all_filter(stderr_target, 1); - log_parse_category_mask(stderr_target, "DINP:DMI"); + osmo_init_logging(&log_info); + log_parse_category_mask(osmo_stderr_target, "DINP:DMI"); handle_options(argc, argv); @@ -1198,6 +1194,7 @@ int main(int argc, char **argv) signal(SIGUSR1, &signal_handler); signal(SIGABRT, &signal_handler); + osmo_init_ignore_signals(); while (1) { osmo_select_main(0); diff --git a/openbsc/src/osmo-bsc/osmo_bsc_main.c b/openbsc/src/osmo-bsc/osmo_bsc_main.c index 78a0ccb09..16495d8f1 100644 --- a/openbsc/src/osmo-bsc/osmo_bsc_main.c +++ b/openbsc/src/osmo-bsc/osmo_bsc_main.c @@ -26,6 +26,7 @@ #include #include +#include #include #include @@ -43,7 +44,6 @@ #include "../../bscconfig.h" -static struct log_target *stderr_target; struct gsm_network *bsc_gsmnet = 0; static const char *config_file = "openbsc.cfg"; static const char *rf_ctl = NULL; @@ -101,10 +101,10 @@ static void handle_options(int argc, char **argv) print_help(); exit(0); case 's': - log_set_use_color(stderr_target, 0); + log_set_use_color(osmo_stderr_target, 0); break; case 'd': - log_parse_category_mask(stderr_target, optarg); + log_parse_category_mask(osmo_stderr_target, optarg); break; case 'D': daemonize = 1; @@ -113,10 +113,10 @@ static void handle_options(int argc, char **argv) config_file = strdup(optarg); break; case 'T': - log_set_print_timestamp(stderr_target, 1); + log_set_print_timestamp(osmo_stderr_target, 1); break; case 'e': - log_set_log_level(stderr_target, atoi(optarg)); + log_set_log_level(osmo_stderr_target, atoi(optarg)); break; case 'r': rf_ctl = optarg; @@ -179,17 +179,15 @@ int main(int argc, char **argv) struct osmo_msc_data *data; int rc; - log_init(&log_info); tall_bsc_ctx = talloc_named_const(NULL, 1, "openbsc"); - stderr_target = log_target_create_stderr(); - log_add_target(stderr_target); + + osmo_init_logging(&log_info); bts_model_unknown_init(); bts_model_bs11_init(); bts_model_nanobts_init(); /* enable filters */ - log_set_all_filter(stderr_target, 1); /* This needs to precede handle_options() */ vty_info.copyright = openbsc_copyright; @@ -245,7 +243,7 @@ int main(int argc, char **argv) signal(SIGABRT, &signal_handler); signal(SIGUSR1, &signal_handler); signal(SIGUSR2, &signal_handler); - signal(SIGPIPE, SIG_IGN); + osmo_init_ignore_signals(); if (daemonize) { rc = osmo_daemonize(); diff --git a/openbsc/src/osmo-bsc_mgcp/mgcp_main.c b/openbsc/src/osmo-bsc_mgcp/mgcp_main.c index 8cb90c5c5..921fa09b2 100644 --- a/openbsc/src/osmo-bsc_mgcp/mgcp_main.c +++ b/openbsc/src/osmo-bsc_mgcp/mgcp_main.c @@ -32,16 +32,19 @@ #include #include +#include +#include +#include +#include + +#include #include #include #include -#include #include -#include -#include + #include #include -#include #include @@ -193,14 +196,11 @@ int main(int argc, char **argv) struct gsm_network dummy_network; struct sockaddr_in addr; int on = 1, rc; - struct log_target *stderr_target; tall_bsc_ctx = talloc_named_const(NULL, 1, "mgcp-callagent"); - log_init(&log_info); - stderr_target = log_target_create_stderr(); - log_add_target(stderr_target); - log_set_all_filter(stderr_target, 1); + osmo_init_ignore_signals(); + osmo_init_logging(&log_info); cfg = mgcp_config_alloc(); if (!cfg) diff --git a/openbsc/src/osmo-bsc_nat/bsc_nat.c b/openbsc/src/osmo-bsc_nat/bsc_nat.c index d97416f2a..8649f43c3 100644 --- a/openbsc/src/osmo-bsc_nat/bsc_nat.c +++ b/openbsc/src/osmo-bsc_nat/bsc_nat.c @@ -44,10 +44,11 @@ #include #include -#include +#include #include #include +#include #include #include @@ -61,7 +62,6 @@ #define SCCP_CLOSE_TIME 20 #define SCCP_CLOSE_TIME_TIMEOUT 19 -struct log_target *stderr_target; static const char *config_file = "bsc-nat.cfg"; static struct in_addr local_addr; static struct osmo_fd bsc_listen; @@ -1322,16 +1322,16 @@ static void handle_options(int argc, char **argv) print_help(); exit(0); case 's': - log_set_use_color(stderr_target, 0); + log_set_use_color(osmo_stderr_target, 0); break; case 'd': - log_parse_category_mask(stderr_target, optarg); + log_parse_category_mask(osmo_stderr_target, optarg); break; case 'c': config_file = strdup(optarg); break; case 'T': - log_set_print_timestamp(stderr_target, 1); + log_set_print_timestamp(osmo_stderr_target, 1); break; case 'm': msc_ip = optarg; @@ -1418,10 +1418,7 @@ int main(int argc, char **argv) talloc_init_ctx(); - log_init(&log_info); - stderr_target = log_target_create_stderr(); - log_add_target(stderr_target); - log_set_all_filter(stderr_target, 1); + osmo_init_logging(&log_info); nat = bsc_nat_alloc(); if (!nat) { @@ -1497,7 +1494,7 @@ int main(int argc, char **argv) signal(SIGABRT, &signal_handler); signal(SIGUSR1, &signal_handler); - signal(SIGPIPE, SIG_IGN); + osmo_init_ignore_signals(); if (daemonize) { rc = osmo_daemonize(); diff --git a/openbsc/src/osmo-nitb/bsc_hack.c b/openbsc/src/osmo-nitb/bsc_hack.c index 5e604413b..1fa039b3a 100644 --- a/openbsc/src/osmo-nitb/bsc_hack.c +++ b/openbsc/src/osmo-nitb/bsc_hack.c @@ -30,6 +30,7 @@ #include #include +#include #include #include #include @@ -43,7 +44,6 @@ #include "../../bscconfig.h" /* MCC and MNC for the Location Area Identifier */ -static struct log_target *stderr_target; struct gsm_network *bsc_gsmnet = 0; static const char *database_name = "hlr.sqlite3"; static const char *config_file = "openbsc.cfg"; @@ -127,10 +127,10 @@ static void handle_options(int argc, char **argv) print_help(); exit(0); case 's': - log_set_use_color(stderr_target, 0); + log_set_use_color(osmo_stderr_target, 0); break; case 'd': - log_parse_category_mask(stderr_target, optarg); + log_parse_category_mask(osmo_stderr_target, optarg); break; case 'D': daemonize = 1; @@ -145,13 +145,13 @@ static void handle_options(int argc, char **argv) create_pcap_file(optarg); break; case 'T': - log_set_print_timestamp(stderr_target, 1); + log_set_print_timestamp(osmo_stderr_target, 1); break; case 'P': ipacc_rtp_direct = 0; break; case 'e': - log_set_log_level(stderr_target, atoi(optarg)); + log_set_log_level(osmo_stderr_target, atoi(optarg)); break; case 'm': use_mncc_sock = 1; @@ -229,14 +229,13 @@ int main(int argc, char **argv) vty_info.copyright = openbsc_copyright; - log_init(&log_info); tall_bsc_ctx = talloc_named_const(NULL, 1, "openbsc"); talloc_ctx_init(); on_dso_load_token(); on_dso_load_rrlp(); on_dso_load_ho_dec(); - stderr_target = log_target_create_stderr(); - log_add_target(stderr_target); + + osmo_init_logging(&log_info); bts_model_unknown_init(); bts_model_bs11_init(); @@ -246,9 +245,6 @@ int main(int argc, char **argv) e1inp_init(); - /* enable filters */ - log_set_all_filter(stderr_target, 1); - /* This needs to precede handle_options() */ vty_init(&vty_info); bsc_vty_init(&log_info); @@ -291,7 +287,7 @@ int main(int argc, char **argv) signal(SIGABRT, &signal_handler); signal(SIGUSR1, &signal_handler); signal(SIGUSR2, &signal_handler); - signal(SIGPIPE, SIG_IGN); + osmo_init_ignore_signals(); /* start the SMS queue */ if (sms_queue_start(bsc_gsmnet, 20) != 0) diff --git a/openbsc/src/utils/bs11_config.c b/openbsc/src/utils/bs11_config.c index 878d02a71..aa8c55d3a 100644 --- a/openbsc/src/utils/bs11_config.c +++ b/openbsc/src/utils/bs11_config.c @@ -39,6 +39,7 @@ #include #include #include +#include /* state of our bs11_config application */ enum bs11cfg_state { @@ -69,8 +70,6 @@ static const char *trx1_password = "1111111111"; static const uint8_t too_fast[] = { 0x12, 0x80, 0x00, 0x00, 0x02, 0x02 }; -static struct log_target *stderr_target; - /* dummy function to keep gsm_data.c happy */ struct osmo_counter *osmo_counter_alloc(const char *name) { @@ -817,7 +816,7 @@ static void handle_options(int argc, char **argv) serial_port = optarg; break; case 'b': - log_parse_category_mask(stderr_target, optarg); + log_parse_category_mask(osmo_stderr_target, optarg); break; case 's': fname_software = optarg; @@ -874,10 +873,7 @@ int main(int argc, char **argv) struct gsm_network *gsmnet; int rc; - log_init(&log_info); - stderr_target = log_target_create_stderr(); - log_add_target(stderr_target); - log_set_all_filter(stderr_target, 1); + osmo_init_logging(&log_info); handle_options(argc, argv); bts_model_bs11_init(); diff --git a/openbsc/tests/bsc-nat/bsc_nat_test.c b/openbsc/tests/bsc-nat/bsc_nat_test.c index 6ec22c501..1645f705f 100644 --- a/openbsc/tests/bsc-nat/bsc_nat_test.c +++ b/openbsc/tests/bsc-nat/bsc_nat_test.c @@ -27,6 +27,7 @@ #include #include +#include #include #include @@ -979,13 +980,8 @@ static void test_setup_rewrite() int main(int argc, char **argv) { - struct log_target *stderr_target; - sccp_set_log_area(DSCCP); - log_init(&log_info); - stderr_target = log_target_create_stderr(); - log_add_target(stderr_target); - log_set_all_filter(stderr_target, 1); + osmo_init_logging(&log_info); test_filter(); test_contrack(); diff --git a/openbsc/tests/mgcp/mgcp_test.c b/openbsc/tests/mgcp/mgcp_test.c index e2ed4e20f..b7273de43 100644 --- a/openbsc/tests/mgcp/mgcp_test.c +++ b/openbsc/tests/mgcp/mgcp_test.c @@ -20,6 +20,7 @@ #include #include +#include #include #include @@ -74,11 +75,7 @@ static void test_auep(void) int main(int argc, char **argv) { - struct log_target *stderr_target; - log_init(&log_info); - stderr_target = log_target_create_stderr(); - log_add_target(stderr_target); - log_set_all_filter(stderr_target, 1); + osmo_init_logging(&log_info); test_auep(); return 0; -- cgit v1.2.3