aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2022-09-20 16:55:24 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2022-09-20 16:55:42 +0200
commit9108eed3e4302574db475717d0125f409524cc5f (patch)
tree6ff4fdbc60de251c47e24d9a9584192d2830cf2e
parentcd3d71b31885a8e05096de0bc0711d3c615e8d47 (diff)
osmux: Log sendto() error
-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);
}