diff options
Diffstat (limited to 'src/gb')
| -rw-r--r-- | src/gb/gprs_bssgp_vty.c | 10 | ||||
| -rw-r--r-- | src/gb/gprs_ns_vty.c | 10 |
2 files changed, 16 insertions, 4 deletions
diff --git a/src/gb/gprs_bssgp_vty.c b/src/gb/gprs_bssgp_vty.c index 3af6517f..5dab94e7 100644 --- a/src/gb/gprs_bssgp_vty.c +++ b/src/gb/gprs_bssgp_vty.c @@ -181,21 +181,27 @@ DEFUN(logging_fltr_bvc, "BVCI of the BVC to be filtered\n" "BSSGP Virtual Connection Identifier (BVCI)\n") { - struct log_target *tgt = osmo_log_vty2tgt(vty); + struct log_target *tgt; struct bssgp_bvc_ctx *bvc; uint16_t nsei = atoi(argv[0]); uint16_t bvci = atoi(argv[1]); - if (!tgt) + log_tgt_mutex_lock(); + tgt = osmo_log_vty2tgt(vty); + if (!tgt) { + log_tgt_mutex_unlock(); return CMD_WARNING; + } bvc = btsctx_by_bvci_nsei(bvci, nsei); if (!bvc) { vty_out(vty, "No BVC by that identifier%s", VTY_NEWLINE); + log_tgt_mutex_unlock(); return CMD_WARNING; } log_set_bvc_filter(tgt, bvc); + log_tgt_mutex_unlock(); return CMD_SUCCESS; } diff --git a/src/gb/gprs_ns_vty.c b/src/gb/gprs_ns_vty.c index 53c71a9a..4a904368 100644 --- a/src/gb/gprs_ns_vty.c +++ b/src/gb/gprs_ns_vty.c @@ -587,12 +587,16 @@ DEFUN(logging_fltr_nsvc, "Identify NS-VC by NSVCI\n" "Numeric identifier\n") { - struct log_target *tgt = osmo_log_vty2tgt(vty); + struct log_target *tgt; struct gprs_nsvc *nsvc; uint16_t id = atoi(argv[1]); - if (!tgt) + log_tgt_mutex_lock(); + tgt = osmo_log_vty2tgt(vty); + if (!tgt) { + log_tgt_mutex_unlock(); return CMD_WARNING; + } if (!strcmp(argv[0], "nsei")) nsvc = gprs_nsvc_by_nsei(vty_nsi, id); @@ -601,10 +605,12 @@ DEFUN(logging_fltr_nsvc, if (!nsvc) { vty_out(vty, "No NS-VC by that identifier%s", VTY_NEWLINE); + log_tgt_mutex_unlock(); return CMD_WARNING; } log_set_nsvc_filter(tgt, nsvc); + log_tgt_mutex_unlock(); return CMD_SUCCESS; } |
