aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-07-21 16:57:12 +0200
committerHarald Welte <laforge@gnumonks.org>2017-07-21 18:25:15 +0200
commit5f071cd2c6af6c840d5ecac8e8474067fdc5738c (patch)
treeb1e56b7f7f017bdd0ae1fc971e1c94430bee503c
parentf266924bac7c720485bee8fb4d27a35062643577 (diff)
client: Move to osmo_sock_init2_ofd()
We can simplify the code even further by using the osmo_fd version of osmo_sock_init2() called osmo_sock_init2_ofd(), which takes care of filling the osmo_fd.fd member and registering the socket in the select loop. Change-Id: Ibf1480e7dee287db77a19bb9f0254edddf7706ab
-rw-r--r--src/osmo_client_network.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/src/osmo_client_network.c b/src/osmo_client_network.c
index 03cb281..402e1cb 100644
--- a/src/osmo_client_network.c
+++ b/src/osmo_client_network.c
@@ -228,20 +228,19 @@ void osmo_client_send_link(struct osmo_pcap_client_conn *conn)
void osmo_client_connect(struct osmo_pcap_client_conn *conn)
{
- int fd;
+ int rc;
osmo_client_disconnect(conn);
conn->wqueue.read_cb = read_cb;
conn->wqueue.write_cb = write_cb;
- conn->wqueue.bfd.when = BSC_FD_READ;
osmo_wqueue_clear(&conn->wqueue);
- fd = osmo_sock_init2(AF_INET, SOCK_STREAM, IPPROTO_TCP,
+ rc = osmo_sock_init2_ofd(&conn->wqueue.bfd, AF_INET, SOCK_STREAM, IPPROTO_TCP,
conn->source_ip, 0,
conn->srv_ip, conn->srv_port,
OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT | OSMO_SOCK_F_NONBLOCK);
- if (fd < 0) {
+ if (rc < 0) {
LOGP(DCLIENT, LOGL_ERROR,
"Failed to connect conn=%s to %s:%d\n",
conn->name, conn->srv_ip, conn->srv_port);
@@ -249,14 +248,6 @@ void osmo_client_connect(struct osmo_pcap_client_conn *conn)
return;
}
- conn->wqueue.bfd.fd = fd;
- if (osmo_fd_register(&conn->wqueue.bfd) != 0) {
- LOGP(DCLIENT, LOGL_ERROR,
- "Failed to register to BFD conn=%s\n", conn->name);
- lost_connection(conn);
- return;
- }
-
rate_ctr_inc(&conn->client->ctrg->ctr[CLIENT_CTR_CONNECT]);
conn->wqueue.bfd.cb = conn_cb;
conn->wqueue.bfd.data = conn;