aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2011-05-12 16:02:07 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2011-05-12 16:11:14 +0200
commit67cd75f9fa0e9c2140cbef08a7774760470e32a1 (patch)
tree8f64d246e0f535866f56dccb5e9963ebe8dee77a /openbsc/src
parent99beb96fc0fdd2073ec7651e68bcea5d89db0737 (diff)
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.
Diffstat (limited to 'openbsc/src')
-rw-r--r--openbsc/src/gprs/gb_proxy_main.c17
-rw-r--r--openbsc/src/gprs/sgsn_main.c17
-rw-r--r--openbsc/src/ipaccess/ipaccess-config.c14
-rw-r--r--openbsc/src/ipaccess/ipaccess-proxy.c17
-rw-r--r--openbsc/src/osmo-bsc/osmo_bsc_main.c18
-rw-r--r--openbsc/src/osmo-bsc_mgcp/mgcp_main.c18
-rw-r--r--openbsc/src/osmo-bsc_nat/bsc_nat.c17
-rw-r--r--openbsc/src/osmo-nitb/bsc_hack.c20
-rw-r--r--openbsc/src/utils/bs11_config.c10
9 files changed, 61 insertions, 87 deletions
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 <netinet/in.h>
#include <arpa/inet.h>
+#include <osmocom/core/application.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/select.h>
#include <osmocom/core/rate_ctr.h>
@@ -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 <netinet/in.h>
#include <arpa/inet.h>
+#include <osmocom/core/application.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/select.h>
#include <osmocom/core/rate_ctr.h>
@@ -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 <arpa/inet.h>
+#include <osmocom/core/application.h>
#include <osmocom/core/select.h>
#include <osmocom/core/timer.h>
#include <openbsc/ipaccess.h>
@@ -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 <getopt.h>
#include <openbsc/gsm_data.h>
+#include <osmocom/core/application.h>
#include <osmocom/core/select.h>
#include <osmocom/gsm/tlv.h>
#include <osmocom/core/msgb.h>
@@ -46,8 +47,6 @@
#include <openbsc/socket.h>
#include <osmocom/core/talloc.h>
-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 <openbsc/signal.h>
#include <openbsc/vty.h>
+#include <osmocom/core/application.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/process.h>
@@ -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 <sys/socket.h>
#include <openbsc/debug.h>
+#include <openbsc/gsm_data.h>
+#include <openbsc/mgcp.h>
+#include <openbsc/mgcp_internal.h>
+#include <openbsc/vty.h>
+
+#include <osmocom/core/application.h>
#include <osmocom/core/msgb.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/process.h>
-#include <openbsc/gsm_data.h>
#include <osmocom/core/select.h>
-#include <openbsc/mgcp.h>
-#include <openbsc/mgcp_internal.h>
+
#include <osmocom/vty/telnet_interface.h>
#include <osmocom/vty/logging.h>
-#include <openbsc/vty.h>
#include <osmocom/vty/command.h>
@@ -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 <openbsc/socket.h>
#include <openbsc/vty.h>
-#include <osmocom/gsm/gsm0808.h>
+#include <osmocom/core/application.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/process.h>
+#include <osmocom/gsm/gsm0808.h>
#include <osmocom/gsm/protocol/gsm_08_08.h>
#include <osmocom/vty/telnet_interface.h>
@@ -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 <getopt.h>
#include <openbsc/db.h>
+#include <osmocom/core/application.h>
#include <osmocom/core/select.h>
#include <osmocom/core/process.h>
#include <openbsc/debug.h>
@@ -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 <openbsc/debug.h>
#include <osmocom/core/select.h>
#include <openbsc/rs232.h>
+#include <osmocom/core/application.h>
/* 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();