aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/src/nat/bsc_nat.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/openbsc/src/nat/bsc_nat.c b/openbsc/src/nat/bsc_nat.c
index 98eaa9794..3f0a387a0 100644
--- a/openbsc/src/nat/bsc_nat.c
+++ b/openbsc/src/nat/bsc_nat.c
@@ -102,6 +102,7 @@ static void initialize_msc_if_needed()
static void forward_sccp_to_bts(struct msgb *msg)
{
struct bsc_connection *bsc;
+ int rc;
/* filter, drop, patch the message? */
@@ -111,7 +112,11 @@ static void forward_sccp_to_bts(struct msgb *msg)
/* currently send this to every BSC connected */
llist_for_each_entry(bsc, &bsc_connections, list_entry) {
- write(bsc->bsc_fd.fd, msg->data, msg->len);
+ rc = write(bsc->bsc_fd.fd, msg->data, msg->len);
+
+ /* try the next one */
+ if (rc < msg->len)
+ fprintf(stderr, "Failed to write message to BTS.\n");
}
}