<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/20735">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved
  pespin: Looks good to me, but someone else must approve

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">use osmo_fd_setup() whenever applicable<br><br>Change-Id: Iee26d14e997cc77c49b8fc1a9f388e4e2f783105<br>---<br>M src/ipaccess/abisip-find.c<br>M src/ipaccess/ipaccess-proxy.c<br>M src/osmo-bsc/bsc_rf_ctrl.c<br>M src/osmo-bsc/pcu_sock.c<br>4 files changed, 15 insertions(+), 33 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/ipaccess/abisip-find.c b/src/ipaccess/abisip-find.c</span><br><span>index 11b2851..a414d16 100644</span><br><span>--- a/src/ipaccess/abisip-find.c</span><br><span>+++ b/src/ipaccess/abisip-find.c</span><br><span>@@ -446,13 +446,12 @@</span><br><span>       else if (cmdline_opts.send_interval >= cmdline_opts.list_view_timeout)</span><br><span>            fprintf(stdout, "\nWARNING: the --timeout should be larger than --interval.\n\n");</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-        bfd.cb = bfd_cb;</span><br><span style="color: hsl(0, 100%, 40%);">-        bfd.when = OSMO_FD_READ | OSMO_FD_WRITE;</span><br><span style="color: hsl(0, 100%, 40%);">-        bfd.fd = udp_sock(cmdline_opts.ifname, cmdline_opts.bind_ip);</span><br><span style="color: hsl(0, 100%, 40%);">-   if (bfd.fd < 0) {</span><br><span style="color: hsl(120, 100%, 40%);">+  rc = udp_sock(cmdline_opts.ifname, cmdline_opts.bind_ip);</span><br><span style="color: hsl(120, 100%, 40%);">+     if (rc < 0) {</span><br><span>             perror("Cannot create local socket for broadcast udp");</span><br><span>            exit(1);</span><br><span>     }</span><br><span style="color: hsl(120, 100%, 40%);">+     osmo_fd_setup(&bfd, rc, OSMO_FD_READ | OSMO_FD_WRITE, bfd_cb, NULL, 0);</span><br><span> </span><br><span>      rc = osmo_fd_register(&bfd);</span><br><span>     if (rc < 0) {</span><br><span>diff --git a/src/ipaccess/ipaccess-proxy.c b/src/ipaccess/ipaccess-proxy.c</span><br><span>index d5dd8d4..1ed215d 100644</span><br><span>--- a/src/ipaccess/ipaccess-proxy.c</span><br><span>+++ b/src/ipaccess/ipaccess-proxy.c</span><br><span>@@ -936,11 +936,7 @@</span><br><span>     }</span><br><span> </span><br><span>        bfd = &ipc->fd;</span><br><span style="color: hsl(0, 100%, 40%);">-  bfd->fd = ret;</span><br><span style="color: hsl(0, 100%, 40%);">-       bfd->data = ipc;</span><br><span style="color: hsl(0, 100%, 40%);">-     bfd->priv_nr = listen_bfd->priv_nr;</span><br><span style="color: hsl(0, 100%, 40%);">-       bfd->cb = proxy_ipaccess_fd_cb;</span><br><span style="color: hsl(0, 100%, 40%);">-      bfd->when = OSMO_FD_READ;</span><br><span style="color: hsl(120, 100%, 40%);">+  osmo_fd_setup(bfd, ret, OSMO_FD_READ, proxy_ipaccess_fd_cb, ipc, listen_bfd->priv_nr);</span><br><span>    ret = osmo_fd_register(bfd);</span><br><span>         if (ret < 0) {</span><br><span>            LOGP(DLINP, LOGL_ERROR, "could not register FD\n");</span><br><span>@@ -1016,20 +1012,17 @@</span><br><span> </span><br><span>  ipc->bts_conn = data;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    bfd = &ipc->fd;</span><br><span style="color: hsl(0, 100%, 40%);">-  bfd->fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);</span><br><span style="color: hsl(0, 100%, 40%);">- bfd->cb = ipaccess_fd_cb;</span><br><span style="color: hsl(0, 100%, 40%);">-    bfd->when = OSMO_FD_READ | OSMO_FD_WRITE;</span><br><span style="color: hsl(0, 100%, 40%);">-    bfd->data = ipc;</span><br><span style="color: hsl(0, 100%, 40%);">-     bfd->priv_nr = priv_nr;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-      if (bfd->fd < 0) {</span><br><span style="color: hsl(120, 100%, 40%);">+      ret = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);</span><br><span style="color: hsl(120, 100%, 40%);">+      if (ret < 0) {</span><br><span>            LOGP(DLINP, LOGL_ERROR, "Could not create socket: %s\n",</span><br><span>                   strerror(errno));</span><br><span>            talloc_free(ipc);</span><br><span>            return NULL;</span><br><span>         }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ bfd = &ipc->fd;</span><br><span style="color: hsl(120, 100%, 40%);">+        osmo_fd_setup(bfd, ret, OSMO_FD_READ | OSMO_FD_WRITE, ipaccess_fd_cb, ipc, priv_nr);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>       ret = setsockopt(bfd->fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));</span><br><span>         if (ret < 0) {</span><br><span>            LOGP(DLINP, LOGL_ERROR, "Could not set socket option\n");</span><br><span>diff --git a/src/osmo-bsc/bsc_rf_ctrl.c b/src/osmo-bsc/bsc_rf_ctrl.c</span><br><span>index 1e04f21..a845859 100644</span><br><span>--- a/src/osmo-bsc/bsc_rf_ctrl.c</span><br><span>+++ b/src/osmo-bsc/bsc_rf_ctrl.c</span><br><span>@@ -372,9 +372,7 @@</span><br><span>       }</span><br><span> </span><br><span>        osmo_wqueue_init(&conn->queue, 10);</span><br><span style="color: hsl(0, 100%, 40%);">-      conn->queue.bfd.data = conn;</span><br><span style="color: hsl(0, 100%, 40%);">- conn->queue.bfd.fd = fd;</span><br><span style="color: hsl(0, 100%, 40%);">-     conn->queue.bfd.when = OSMO_FD_READ | OSMO_FD_WRITE;</span><br><span style="color: hsl(120, 100%, 40%);">+       osmo_fd_setup(&conn->queue.bfd, fd, OSMO_FD_READ | OSMO_FD_WRITE, osmo_wqueue_bfd_cb, conn, 0);</span><br><span>       conn->queue.read_cb = rf_read_cmd;</span><br><span>        conn->queue.write_cb = rf_write_cmd;</span><br><span>      conn->rf = rf;</span><br><span>@@ -484,9 +482,7 @@</span><br><span>              return -1;</span><br><span>   }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   bfd->when = OSMO_FD_READ;</span><br><span style="color: hsl(0, 100%, 40%);">-    bfd->cb = rf_ctrl_accept;</span><br><span style="color: hsl(0, 100%, 40%);">-    bfd->data = rf;</span><br><span style="color: hsl(120, 100%, 40%);">+    osmo_fd_setup(bfd, bfd->fd, OSMO_FD_READ, rf_ctrl_accept, rf, 0);</span><br><span> </span><br><span>     if (osmo_fd_register(bfd) != 0) {</span><br><span>            LOGP(DLINP, LOGL_ERROR, "Failed to register bfd.\n");</span><br><span>diff --git a/src/osmo-bsc/pcu_sock.c b/src/osmo-bsc/pcu_sock.c</span><br><span>index a1a1cfc..d59df33 100644</span><br><span>--- a/src/osmo-bsc/pcu_sock.c</span><br><span>+++ b/src/osmo-bsc/pcu_sock.c</span><br><span>@@ -672,10 +672,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 = pcu_sock_cb;</span><br><span style="color: hsl(0, 100%, 40%);">-  conn_bfd->data = state;</span><br><span style="color: hsl(120, 100%, 40%);">+    osmo_fd_setup(conn_bfd, rc, OSMO_FD_READ, pcu_sock_cb, state, 0);</span><br><span> </span><br><span>        if (osmo_fd_register(conn_bfd) != 0) {</span><br><span>               LOGP(DPCU, LOGL_ERROR, "Failed to register new connection "</span><br><span>@@ -707,18 +704,15 @@</span><br><span> </span><br><span>    bfd = &state->listen_bfd;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    bfd->fd = osmo_sock_unix_init(SOCK_SEQPACKET, 0, path,</span><br><span style="color: hsl(0, 100%, 40%);">-               OSMO_SOCK_F_BIND);</span><br><span style="color: hsl(0, 100%, 40%);">-      if (bfd->fd < 0) {</span><br><span style="color: hsl(120, 100%, 40%);">+      rc = osmo_sock_unix_init(SOCK_SEQPACKET, 0, path, OSMO_SOCK_F_BIND);</span><br><span style="color: hsl(120, 100%, 40%);">+  if (rc < 0) {</span><br><span>             LOGP(DPCU, LOGL_ERROR, "Could not create unix socket: %s\n",</span><br><span>                       strerror(errno));</span><br><span>            talloc_free(state);</span><br><span>          return -1;</span><br><span>   }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   bfd->when = OSMO_FD_READ;</span><br><span style="color: hsl(0, 100%, 40%);">-    bfd->cb = pcu_sock_accept;</span><br><span style="color: hsl(0, 100%, 40%);">-   bfd->data = state;</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_fd_setup(bfd, rc, OSMO_FD_READ, pcu_sock_accept, state, 0);</span><br><span> </span><br><span>         rc = osmo_fd_register(bfd);</span><br><span>  if (rc < 0) {</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/20735">change 20735</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/osmo-bsc/+/20735"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Iee26d14e997cc77c49b8fc1a9f388e4e2f783105 </div>
<div style="display:none"> Gerrit-Change-Number: 20735 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </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: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>