mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-17 10:26:15 +00:00
Fix issue where shutdown(socket, SHUT_RD) was effectively
ignored for TCP sockets. NetBSD PR: 18185 Submitted by: Sean Boudreau <seanb@qnx.com> MFC after: 3 days
This commit is contained in:
parent
8c6bc30900
commit
c1c36a2c68
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=103776
@ -1057,8 +1057,12 @@ tcp_input(m, off0)
|
||||
/*
|
||||
* Add data to socket buffer.
|
||||
*/
|
||||
m_adj(m, drop_hdrlen); /* delayed header drop */
|
||||
sbappend(&so->so_rcv, m);
|
||||
if (so->so_state & SS_CANTRCVMORE) {
|
||||
m_freem(m);
|
||||
} else {
|
||||
m_adj(m, drop_hdrlen); /* delayed header drop */
|
||||
sbappend(&so->so_rcv, m);
|
||||
}
|
||||
sorwakeup(so);
|
||||
if (DELAY_ACK(tp)) {
|
||||
callout_reset(tp->tt_delack, tcp_delacktime,
|
||||
@ -2086,7 +2090,10 @@ tcp_input(m, off0)
|
||||
tcpstat.tcps_rcvpack++;
|
||||
tcpstat.tcps_rcvbyte += tlen;
|
||||
ND6_HINT(tp);
|
||||
sbappend(&so->so_rcv, m);
|
||||
if (so->so_state & SS_CANTRCVMORE)
|
||||
m_freem(m);
|
||||
else
|
||||
sbappend(&so->so_rcv, m);
|
||||
sorwakeup(so);
|
||||
} else {
|
||||
thflags = tcp_reass(tp, th, &tlen, m);
|
||||
|
@ -1057,8 +1057,12 @@ tcp_input(m, off0)
|
||||
/*
|
||||
* Add data to socket buffer.
|
||||
*/
|
||||
m_adj(m, drop_hdrlen); /* delayed header drop */
|
||||
sbappend(&so->so_rcv, m);
|
||||
if (so->so_state & SS_CANTRCVMORE) {
|
||||
m_freem(m);
|
||||
} else {
|
||||
m_adj(m, drop_hdrlen); /* delayed header drop */
|
||||
sbappend(&so->so_rcv, m);
|
||||
}
|
||||
sorwakeup(so);
|
||||
if (DELAY_ACK(tp)) {
|
||||
callout_reset(tp->tt_delack, tcp_delacktime,
|
||||
@ -2086,7 +2090,10 @@ tcp_input(m, off0)
|
||||
tcpstat.tcps_rcvpack++;
|
||||
tcpstat.tcps_rcvbyte += tlen;
|
||||
ND6_HINT(tp);
|
||||
sbappend(&so->so_rcv, m);
|
||||
if (so->so_state & SS_CANTRCVMORE)
|
||||
m_freem(m);
|
||||
else
|
||||
sbappend(&so->so_rcv, m);
|
||||
sorwakeup(so);
|
||||
} else {
|
||||
thflags = tcp_reass(tp, th, &tlen, m);
|
||||
|
Loading…
Reference in New Issue
Block a user