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.
This commit is contained in:
Holger Hans Peter Freyther 2011-05-12 16:02:07 +02:00
parent 99beb96fc0
commit 67cd75f9fa
11 changed files with 64 additions and 97 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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;

View File

@ -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);

View File

@ -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();

View File

@ -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)

View File

@ -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();

View File

@ -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)

View File

@ -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();

View File

@ -27,6 +27,7 @@
#include <openbsc/bsc_nat.h>
#include <openbsc/bsc_nat_sccp.h>
#include <osmocom/core/application.h>
#include <osmocom/core/talloc.h>
#include <osmocom/sccp/sccp.h>
@ -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();

View File

@ -20,6 +20,7 @@
#include <openbsc/mgcp.h>
#include <openbsc/mgcp_internal.h>
#include <osmocom/core/application.h>
#include <osmocom/core/talloc.h>
#include <string.h>
@ -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;