<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>