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);
> }