Small patch in OFED/sdp

Vijay Singh vijju.singh at gmail.com
Tue Apr 2 18:33:20 UTC 2013


Hi, this is based on the the understanding that the SS_NBIO is a
socket state, and not a state of the socket buffer.

F9@[/u/vijay/bsd/CODE/cur/sys/ofed/drivers/infiniband/ulp/sdp]# svn diff
Index: sdp_main.c
===================================================================
--- sdp_main.c  (revision 249029)
+++ sdp_main.c  (working copy)
@@ -1267,7 +1267,7 @@

        /* Socket buffer is empty and we shall not block. */
        if (sb->sb_cc == 0 &&
-           ((sb->sb_flags & SS_NBIO) || (flags & (MSG_DONTWAIT|MSG_NBIO)))) {
+           ((so->so_state & SS_NBIO) || (flags & (MSG_DONTWAIT|MSG_NBIO)))) {
                error = EAGAIN;
                goto out;
        }
@@ -1297,7 +1297,7 @@

        /* Socket buffer got some data that we shall deliver now. */
        if (sb->sb_cc > 0 && !(flags & MSG_WAITALL) &&
-           ((sb->sb_flags & SS_NBIO) ||
+           ((so->so_state & SS_NBIO) ||
             (flags & (MSG_DONTWAIT|MSG_NBIO)) ||
             sb->sb_cc >= sb->sb_lowat ||
             sb->sb_cc >= uio->uio_resid ||


More information about the freebsd-net mailing list