On Sun, Jan 22, 2023 at 12:44:35AM +0100, Alexander Bluhm wrote: > > > @@ -1632,13 +1634,13 @@ somove(struct socket *so, int wait) > > pru_rcvd(so); > > > > /* Receive buffer did shrink by len bytes, adjust oob. */ > > - state = so->so_state; > > - so->so_state &= ~SS_RCVATMARK; > > + state = so->so_rcv.sb_state; > > Should we rename this local variable to rcvstate? > > > + so->so_rcv.sb_state &= ~SS_RCVATMARK; > > oobmark = so->so_oobmark; > > so->so_oobmark = oobmark > len ? oobmark - len : 0; > > if (oobmark) { >
No problem, if this makes code more readable. Index: sys/kern/uipc_socket.c =================================================================== RCS file: /cvs/src/sys/kern/uipc_socket.c,v retrieving revision 1.295 diff -u -p -r1.295 uipc_socket.c --- sys/kern/uipc_socket.c 22 Jan 2023 12:05:44 -0000 1.295 +++ sys/kern/uipc_socket.c 22 Jan 2023 12:36:33 -0000 @@ -1458,7 +1458,7 @@ somove(struct socket *so, int wait) u_long len, off, oobmark; long space; int error = 0, maxreached = 0; - unsigned int state; + unsigned int rcvstate; soassertlocked(so); @@ -1634,7 +1634,7 @@ somove(struct socket *so, int wait) pru_rcvd(so); /* Receive buffer did shrink by len bytes, adjust oob. */ - state = so->so_rcv.sb_state; + rcvstate = so->so_rcv.sb_state; so->so_rcv.sb_state &= ~SS_RCVATMARK; oobmark = so->so_oobmark; so->so_oobmark = oobmark > len ? oobmark - len : 0; @@ -1649,13 +1649,13 @@ somove(struct socket *so, int wait) * Handle oob data. If any malloc fails, ignore error. * TCP urgent data is not very reliable anyway. */ - while (((state & SS_RCVATMARK) || oobmark) && + while (((rcvstate & SS_RCVATMARK) || oobmark) && (so->so_options & SO_OOBINLINE)) { struct mbuf *o = NULL; - if (state & SS_RCVATMARK) { + if (rcvstate & SS_RCVATMARK) { o = m_get(wait, MT_DATA); - state &= ~SS_RCVATMARK; + rcvstate &= ~SS_RCVATMARK; } else if (oobmark) { o = m_split(m, oobmark, wait); if (o) { @@ -1689,7 +1689,7 @@ somove(struct socket *so, int wait) if (oobmark) { oobmark -= 1; if (oobmark == 0) - state |= SS_RCVATMARK; + rcvstate |= SS_RCVATMARK; } m_adj(m, 1); }