This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.
Holger Hans Peter Freyther holger at freyther.deFrom: Holger Hans Peter Freyther <holger at moiji-mobile.com>
When the link is being created BSC_FD_WRITE and BSC_FD_READ are
being ored into the flag. When the socket connects the first time
the ipa_client_fd_cb function is called and the link->state is
moved from connecting to connect.
In case the connection drops and ipa_client_conn_open is called
again the BSC_FD_WRITE flag might not be set. This means that after
the socket is connected, ipa_client_fd_cb will not be called. This
means that the updown_cb will not be called until after the first
write or read on the socket. It might even lead to missing some
data.
When re-connecting set the write flag again.
---
src/input/ipa.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/input/ipa.c b/src/input/ipa.c
index e2da6f4..1ddf802 100644
--- a/src/input/ipa.c
+++ b/src/input/ipa.c
@@ -218,6 +218,7 @@ int ipa_client_conn_open(struct ipa_client_conn *link)
return ret;
}
link->ofd->fd = ret;
+ link->ofd->when |= BSC_FD_WRITE;
if (osmo_fd_register(link->ofd) < 0) {
close(ret);
link->ofd->fd = -1;
--
2.1.3