aboutsummaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/osmux.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/common/osmux.c b/src/common/osmux.c
index d1d83552..e443d1d0 100644
--- a/src/common/osmux.c
+++ b/src/common/osmux.c
@@ -78,6 +78,7 @@ static void osmux_deliver_cb(struct msgb *batch_msg, void *data)
struct osmux_handle *handle = data;
struct gsm_bts *bts = handle->bts;
socklen_t dest_len;
+ ssize_t rc;
switch (handle->rem_addr.u.sa.sa_family) {
case AF_INET6:
@@ -88,8 +89,14 @@ static void osmux_deliver_cb(struct msgb *batch_msg, void *data)
dest_len = sizeof(handle->rem_addr.u.sin);
break;
}
- sendto(bts->osmux.fd.fd, batch_msg->data, batch_msg->len, 0,
+ rc = sendto(bts->osmux.fd.fd, batch_msg->data, batch_msg->len, 0,
(struct sockaddr *)&handle->rem_addr.u.sa, dest_len);
+ if (rc < 0) {
+ char errbuf[129];
+ strerror_r(errno, errbuf, sizeof(errbuf));
+ LOGP(DOSMUX, LOGL_ERROR, "osmux sendto(%s) failed: %s\n",
+ osmo_sockaddr_to_str(&handle->rem_addr), errbuf);
+ }
msgb_free(batch_msg);
}