<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmocom-bb/+/20751">View Change</a></p><div style="white-space:pre-wrap">Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, approved
</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Use osmo_fd_setup() whenever applicable.<br><br>Change-Id: If9b636c295fc6b5349a54c70662f09efa616ee63<br>---<br>M src/host/layer23/src/common/gps.c<br>M src/host/layer23/src/mobile/mncc_sock.c<br>M src/host/osmocon/osmocon.c<br>M src/host/trxcon/l1ctl_link.c<br>M src/host/virt_phy/src/l1ctl_sock.c<br>M src/host/virt_phy/src/shared/osmo_mcast_sock.c<br>6 files changed, 22 insertions(+), 46 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/host/layer23/src/common/gps.c b/src/host/layer23/src/common/gps.c</span><br><span>index ef907d1..5225fe0 100644</span><br><span>--- a/src/host/layer23/src/common/gps.c</span><br><span>+++ b/src/host/layer23/src/common/gps.c</span><br><span>@@ -137,10 +137,6 @@</span><br><span> {</span><br><span> LOGP(DGPS, LOGL_INFO, "Connecting to gpsd at '%s:%s'\n", g.gpsd_host, g.gpsd_port);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- gps_bfd.data = NULL;</span><br><span style="color: hsl(0, 100%, 40%);">- gps_bfd.when = OSMO_FD_READ;</span><br><span style="color: hsl(0, 100%, 40%);">- gps_bfd.cb = osmo_gpsd_cb;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> #if GPSD_API_MAJOR_VERSION >= 5</span><br><span> if (gps_open(g.gpsd_host, g.gpsd_port, &_gdata) == -1)</span><br><span> gdata = NULL;</span><br><span>@@ -153,15 +149,15 @@</span><br><span> LOGP(DGPS, LOGL_ERROR, "Can't connect to gpsd\n");</span><br><span> return -1;</span><br><span> }</span><br><span style="color: hsl(0, 100%, 40%);">- gps_bfd.fd = gdata->gps_fd;</span><br><span style="color: hsl(0, 100%, 40%);">- if (gps_bfd.fd < 0)</span><br><span style="color: hsl(0, 100%, 40%);">- return gps_bfd.fd;</span><br><span style="color: hsl(120, 100%, 40%);">+ if (gdata->gps_fd < 0)</span><br><span style="color: hsl(120, 100%, 40%);">+ return gdata->gps_fd;</span><br><span> </span><br><span> if (gps_stream(gdata, WATCH_ENABLE, NULL) == -1) {</span><br><span> LOGP(DGPS, LOGL_ERROR, "Error in gps_stream()\n");</span><br><span> return -1;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fd_setup(&gps_bfd, gdata->gps_fd, OSMO_FD_READ, osmo_gpsd_cb, NULL, 0);</span><br><span> osmo_fd_register(&gps_bfd);</span><br><span> </span><br><span> return 0;</span><br><span>@@ -320,18 +316,17 @@</span><br><span> int osmo_serialgps_open(void)</span><br><span> {</span><br><span> int baud = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+ int fd;</span><br><span> </span><br><span> if (gps_bfd.fd > 0)</span><br><span> return 0;</span><br><span> </span><br><span> LOGP(DGPS, LOGL_INFO, "Open GPS device '%s'\n", g.device);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- gps_bfd.data = NULL;</span><br><span style="color: hsl(0, 100%, 40%);">- gps_bfd.when = OSMO_FD_READ;</span><br><span style="color: hsl(0, 100%, 40%);">- gps_bfd.cb = osmo_serialgps_cb;</span><br><span style="color: hsl(0, 100%, 40%);">- gps_bfd.fd = open(g.device, O_RDONLY);</span><br><span style="color: hsl(0, 100%, 40%);">- if (gps_bfd.fd < 0)</span><br><span style="color: hsl(0, 100%, 40%);">- return gps_bfd.fd;</span><br><span style="color: hsl(120, 100%, 40%);">+ fd = open(g.device, O_RDONLY);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (fd < 0)</span><br><span style="color: hsl(120, 100%, 40%);">+ return fd;</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fd_setup(&gps_bfd, fd, OSMO_FD_READ, osmo_serialgps_cb, NULL, 0);</span><br><span> </span><br><span> switch (g.baud) {</span><br><span> case 4800:</span><br><span>diff --git a/src/host/layer23/src/mobile/mncc_sock.c b/src/host/layer23/src/mobile/mncc_sock.c</span><br><span>index db76ef6..14adf07 100644</span><br><span>--- a/src/host/layer23/src/mobile/mncc_sock.c</span><br><span>+++ b/src/host/layer23/src/mobile/mncc_sock.c</span><br><span>@@ -231,11 +231,7 @@</span><br><span> return 0;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- conn_bfd->fd = rc;</span><br><span style="color: hsl(0, 100%, 40%);">- conn_bfd->when = OSMO_FD_READ;</span><br><span style="color: hsl(0, 100%, 40%);">- conn_bfd->cb = mncc_sock_cb;</span><br><span style="color: hsl(0, 100%, 40%);">- conn_bfd->data = state;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fd_setup(conn_bfd, rc, OSMO_FD_READ, mncc_sock_cb, state, 0);</span><br><span> if (osmo_fd_register(conn_bfd) != 0) {</span><br><span> LOGP(DMNCC, LOGL_ERROR, "Failed to register new connection fd\n");</span><br><span> close(conn_bfd->fd);</span><br><span>diff --git a/src/host/osmocon/osmocon.c b/src/host/osmocon/osmocon.c</span><br><span>index a755102..66b2ea0 100644</span><br><span>--- a/src/host/osmocon/osmocon.c</span><br><span>+++ b/src/host/osmocon/osmocon.c</span><br><span>@@ -1322,10 +1322,7 @@</span><br><span> </span><br><span> con->server = srv;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- con->fd.fd = rc;</span><br><span style="color: hsl(0, 100%, 40%);">- con->fd.when = OSMO_FD_READ;</span><br><span style="color: hsl(0, 100%, 40%);">- con->fd.cb = un_tool_read;</span><br><span style="color: hsl(0, 100%, 40%);">- con->fd.data = con;</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fd_setup(&con->fd, rc, OSMO_FD_READ, un_tool_read, con, 0);</span><br><span> if (osmo_fd_register(&con->fd) != 0) {</span><br><span> fprintf(stderr, "Failed to register the fd.\n");</span><br><span> talloc_free(con);</span><br><span>@@ -1389,7 +1386,7 @@</span><br><span> </span><br><span> int main(int argc, char **argv)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- int opt, flags;</span><br><span style="color: hsl(120, 100%, 40%);">+ int opt, flags, fd;</span><br><span> uint32_t tmp_load_address = ROMLOAD_ADDRESS;</span><br><span> const char *serial_dev = "/dev/ttyUSB1";</span><br><span> const char *layer2_un_path = "/tmp/osmocom_l2";</span><br><span>@@ -1442,12 +1439,13 @@</span><br><span> dnload.filename = argv[optind];</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- dnload.serial_fd.fd = osmo_serial_init(serial_dev, MODEM_BAUDRATE);</span><br><span style="color: hsl(0, 100%, 40%);">- if (dnload.serial_fd.fd < 0) {</span><br><span style="color: hsl(120, 100%, 40%);">+ fd = osmo_serial_init(serial_dev, MODEM_BAUDRATE);</span><br><span style="color: hsl(120, 100%, 40%);">+ if (fd < 0) {</span><br><span> fprintf(stderr, "Cannot open serial device %s\n", serial_dev);</span><br><span> exit(1);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fd_setup(&dnload.serial_fd, fd, OSMO_FD_READ, serial_read, NULL, 0);</span><br><span> if (osmo_fd_register(&dnload.serial_fd) != 0) {</span><br><span> fprintf(stderr, "Failed to register the serial.\n");</span><br><span> exit(1);</span><br><span>@@ -1458,9 +1456,6 @@</span><br><span> flags |= O_NONBLOCK;</span><br><span> fcntl(dnload.serial_fd.fd, F_SETFL, flags);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- dnload.serial_fd.when = OSMO_FD_READ;</span><br><span style="color: hsl(0, 100%, 40%);">- dnload.serial_fd.cb = serial_read;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> /* initialize the HDLC layer */</span><br><span> sercomm_init();</span><br><span> sercomm_register_rx_cb(SC_DLCI_CONSOLE, hdlc_console_cb);</span><br><span>diff --git a/src/host/trxcon/l1ctl_link.c b/src/host/trxcon/l1ctl_link.c</span><br><span>index 511ae0c..2e2963a 100644</span><br><span>--- a/src/host/trxcon/l1ctl_link.c</span><br><span>+++ b/src/host/trxcon/l1ctl_link.c</span><br><span>@@ -165,9 +165,7 @@</span><br><span> </span><br><span> l1l->wq.write_cb = l1ctl_link_write_cb;</span><br><span> l1l->wq.read_cb = l1ctl_link_read_cb;</span><br><span style="color: hsl(0, 100%, 40%);">- conn_bfd->when = OSMO_FD_READ;</span><br><span style="color: hsl(0, 100%, 40%);">- conn_bfd->data = l1l;</span><br><span style="color: hsl(0, 100%, 40%);">- conn_bfd->fd = cfd;</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fd_setup(conn_bfd, cfd, OSMO_FD_READ, osmo_wqueue_bfd_cb, l1l, 0);</span><br><span> </span><br><span> if (osmo_fd_register(conn_bfd) != 0) {</span><br><span> LOGP(DL1C, LOGL_ERROR, "Failed to register new connection fd\n");</span><br><span>@@ -255,6 +253,10 @@</span><br><span> </span><br><span> /* Create a socket and bind handlers */</span><br><span> bfd = &l1l->listen_bfd;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ /* Bind connection handler */</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fd_setup(bfd, -1, OSMO_FD_READ, l1ctl_link_accept, l1l, 0);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> rc = osmo_sock_unix_init_ofd(bfd, SOCK_STREAM, 0, sock_path,</span><br><span> OSMO_SOCK_F_BIND);</span><br><span> if (rc < 0) {</span><br><span>@@ -268,11 +270,6 @@</span><br><span> /* Bind shutdown handler */</span><br><span> l1l->shutdown_cb = l1ctl_shutdown_cb;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- /* Bind connection handler */</span><br><span style="color: hsl(0, 100%, 40%);">- bfd->cb = l1ctl_link_accept;</span><br><span style="color: hsl(0, 100%, 40%);">- bfd->when = OSMO_FD_READ;</span><br><span style="color: hsl(0, 100%, 40%);">- bfd->data = l1l;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> /**</span><br><span> * To be able to accept first connection and</span><br><span> * drop others, it should be set to -1</span><br><span>diff --git a/src/host/virt_phy/src/l1ctl_sock.c b/src/host/virt_phy/src/l1ctl_sock.c</span><br><span>index d247bef..7951f46 100644</span><br><span>--- a/src/host/virt_phy/src/l1ctl_sock.c</span><br><span>+++ b/src/host/virt_phy/src/l1ctl_sock.c</span><br><span>@@ -125,10 +125,7 @@</span><br><span> }</span><br><span> </span><br><span> lsc->l1ctl_sock = lsi;</span><br><span style="color: hsl(0, 100%, 40%);">- lsc->ofd.fd = fd;</span><br><span style="color: hsl(0, 100%, 40%);">- lsc->ofd.when = OSMO_FD_READ;</span><br><span style="color: hsl(0, 100%, 40%);">- lsc->ofd.cb = l1ctl_sock_data_cb;</span><br><span style="color: hsl(0, 100%, 40%);">- lsc->ofd.data = lsc;</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fd_setup(&lsc->ofd, fd, OSMO_FD_READ, l1ctl_sock_data_cb, lsc, 0);</span><br><span> if (lsi->accept_cb) {</span><br><span> rc = lsi->accept_cb(lsc);</span><br><span> if (rc < 0) {</span><br><span>@@ -163,9 +160,7 @@</span><br><span> </span><br><span> lsi = talloc_zero(ctx, struct l1ctl_sock_inst);</span><br><span> lsi->priv = NULL;</span><br><span style="color: hsl(0, 100%, 40%);">- lsi->ofd.data = lsi;</span><br><span style="color: hsl(0, 100%, 40%);">- lsi->ofd.when = OSMO_FD_READ;</span><br><span style="color: hsl(0, 100%, 40%);">- lsi->ofd.cb = l1ctl_sock_accept_cb;</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fd_setup(&lsi->ofd, -1, OSMO_FD_READ, l1ctl_sock_accept_cb, lsi, 0);</span><br><span> </span><br><span> rc = osmo_sock_unix_init_ofd(&lsi->ofd, SOCK_STREAM, 0, path, OSMO_SOCK_F_BIND);</span><br><span> if (rc < 0) {</span><br><span>diff --git a/src/host/virt_phy/src/shared/osmo_mcast_sock.c b/src/host/virt_phy/src/shared/osmo_mcast_sock.c</span><br><span>index b111a65..d0c5b6d 100644</span><br><span>--- a/src/host/virt_phy/src/shared/osmo_mcast_sock.c</span><br><span>+++ b/src/host/virt_phy/src/shared/osmo_mcast_sock.c</span><br><span>@@ -43,9 +43,7 @@</span><br><span> int rc;</span><br><span> unsigned int flags = OSMO_SOCK_F_BIND | OSMO_SOCK_F_NO_MCAST_ALL | OSMO_SOCK_F_UDP_REUSEADDR;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- ofd->cb = fd_rx_cb;</span><br><span style="color: hsl(0, 100%, 40%);">- ofd->when = OSMO_FD_READ;</span><br><span style="color: hsl(0, 100%, 40%);">- ofd->data = osmo_fd_data;</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fd_setup(ofd, -1, OSMO_FD_READ, fd_rx_cb, osmo_fd_data, 0);</span><br><span> </span><br><span> /* Create mcast client socket */</span><br><span> rc = osmo_sock_init_ofd(ofd, AF_INET, SOCK_DGRAM, IPPROTO_UDP,</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmocom-bb/+/20751">change 20751</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmocom-bb/+/20751"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: osmocom-bb </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: If9b636c295fc6b5349a54c70662f09efa616ee63 </div>
<div style="display:none"> Gerrit-Change-Number: 20751 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>