On Sun, Jan 22, 2023 at 03:49:37PM +0300, Vitaliy Makkoveev wrote: > 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.
OK bluhm@ > 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); > }