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:
parent
99beb96fc0
commit
67cd75f9fa
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue