pespin has submitted this change. (
https://gerrit.osmocom.org/c/osmo-cbc/+/28532 )
Change subject: Improve error handling when forwarding ECBE msg to CBSP
......................................................................
Improve error handling when forwarding ECBE msg to CBSP
Change-Id: Ie411409b3af8f7dd6913b522ea9ed3b58736dc9f
---
M src/message_handling.c
M src/smscb_peer_fsm.c
2 files changed, 17 insertions(+), 6 deletions(-)
Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, approved
dexter: Looks good to me, but someone else must approve
diff --git a/src/message_handling.c b/src/message_handling.c
index a8c8368..41b854a 100644
--- a/src/message_handling.c
+++ b/src/message_handling.c
@@ -132,9 +132,16 @@
switch (peer->proto) {
case CBC_PEER_PROTO_CBSP:
/* skip peers without any current CBSP connection */
- if (!peer->client.cbsp)
- return 0;
- cbsp = cbcmsg_to_cbsp(peer, cbcmsg);
+ if (!peer->client.cbsp) {
+ LOGP(DCBSP, LOGL_NOTICE, "[%s] Tx CBSP: not connected\n",
+ peer->name);
+ return -ENOTCONN;
+ }
+ if (!(cbsp = cbcmsg_to_cbsp(peer, cbcmsg))) {
+ LOGP(DCBSP, LOGL_ERROR, "[%s] Tx CBSP: msg gen failed\n",
+ peer->name);
+ return -EINVAL;
+ }
cbsp_cbc_client_tx(peer->client.cbsp, cbsp);
break;
default:
diff --git a/src/smscb_peer_fsm.c b/src/smscb_peer_fsm.c
index 510c198..cc91e39 100644
--- a/src/smscb_peer_fsm.c
+++ b/src/smscb_peer_fsm.c
@@ -279,13 +279,17 @@
static void smscb_p_fsm_init(struct osmo_fsm_inst *fi, uint32_t event, void *data)
{
struct cbc_message_peer *mp = (struct cbc_message_peer *) fi->priv;
+ int rc;
switch (event) {
case SMSCB_E_CREATE:
/* send it to peer */
- peer_new_cbc_message(mp->peer, mp->cbcmsg);
- /* wait for peers' response */
- osmo_fsm_inst_state_chg(fi, SMSCB_S_WAIT_WRITE_ACK, 10, T_WAIT_WRITE_ACK);
+ rc = peer_new_cbc_message(mp->peer, mp->cbcmsg);
+ if (rc == 0) {
+ /* wait for peers' response */
+ osmo_fsm_inst_state_chg(fi, SMSCB_S_WAIT_WRITE_ACK, 10,
+ T_WAIT_WRITE_ACK);
+ }
break;
default:
OSMO_ASSERT(0);
--
To view, visit
https://gerrit.osmocom.org/c/osmo-cbc/+/28532
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-cbc
Gerrit-Branch: master
Gerrit-Change-Id: Ie411409b3af8f7dd6913b522ea9ed3b58736dc9f
Gerrit-Change-Number: 28532
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged