diff options
Diffstat (limited to 'sys/kern/uipc_socket.c')
-rw-r--r-- | sys/kern/uipc_socket.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 18077a8..8e34acd 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -981,7 +981,8 @@ soreceive(so, psa, uio, mp0, controlp, flagsp) return (soreceive_rcvoob(so, uio, flags)); if (mp != NULL) *mp = NULL; - if (so->so_state & SS_ISCONFIRMING && uio->uio_resid) + if ((pr->pr_flags & PR_WANTRCVD) && (so->so_state & SS_ISCONFIRMING) + && uio->uio_resid) (*pr->pr_usrreqs->pru_rcvd)(so, 0); SOCKBUF_LOCK(&so->so_rcv); |