From 9d5ec1af749c82515023f16318b40d775c8e795a Mon Sep 17 00:00:00 2001 From: Max Date: Mon, 10 Apr 2017 17:01:47 +0200 Subject: Signal to BSC when PCU disconnects While at it - do not serialize NULL as a string when delivering OML Failure Report. Change-Id: I41a731bd719aee0bbb98d3236405fb3a7f3ddec0 Related: OS#1615 --- src/common/oml.c | 5 ++++- src/common/pcu_sock.c | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/common/oml.c b/src/common/oml.c index 7069377f..9d65d835 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -1241,7 +1241,10 @@ int down_oml(struct gsm_bts *bts, struct msgb *msg) static int handle_fail_sig(unsigned int subsys, unsigned int signal, void *handle, void *signal_data) { - oml_tx_failure_event_rep(handle, signal, "%s", signal_data); + if (signal_data) + oml_tx_failure_event_rep(handle, signal, "%s", signal_data); + else + oml_tx_failure_event_rep(handle, signal, ""); return 0; } diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index fa2c5851..1ae6cb6e 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -670,6 +670,8 @@ static void pcu_sock_close(struct pcu_sock_state *state) bts = llist_entry(state->net->bts_list.next, struct gsm_bts, list); LOGP(DPCU, LOGL_NOTICE, "PCU socket has LOST connection\n"); + osmo_signal_dispatch(SS_FAIL, OSMO_EVT_PCU_VERS, NULL); + bts->pcu_version[0] = '\0'; close(bfd->fd); bfd->fd = -1; -- cgit v1.2.3