diff options
Diffstat (limited to 'sys/netinet')
-rw-r--r-- | sys/netinet/raw_ip.c | 6 | ||||
-rw-r--r-- | sys/netinet/sctp_usrreq.c | 6 | ||||
-rw-r--r-- | sys/netinet/tcp_usrreq.c | 6 | ||||
-rw-r--r-- | sys/netinet/udp_usrreq.c | 6 |
4 files changed, 13 insertions, 11 deletions
diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c index a6bef1c7e275..004aaea01bfa 100644 --- a/sys/netinet/raw_ip.c +++ b/sys/netinet/raw_ip.c @@ -994,10 +994,12 @@ rip_shutdown(struct socket *so, enum shutdown_how how) switch (how) { case SHUT_RD: - sorflush(so); + socantrcvmore(so); + sbrelease(so, SO_RCV); break; case SHUT_RDWR: - sorflush(so); + socantrcvmore(so); + sbrelease(so, SO_RCV); /* FALLTHROUGH */ case SHUT_WR: socantsendmore(so); diff --git a/sys/netinet/sctp_usrreq.c b/sys/netinet/sctp_usrreq.c index ec9f211b519b..51c056e052a5 100644 --- a/sys/netinet/sctp_usrreq.c +++ b/sys/netinet/sctp_usrreq.c @@ -868,11 +868,7 @@ sctp_shutdown(struct socket *so, enum shutdown_how how) SCTP_TCB_UNLOCK(stcb); } SCTP_INP_WUNLOCK(inp); - /* - * XXXGL: does SCTP need sorflush()? This is what old - * soshutdown() used to do for all kinds of sockets. - */ - sorflush(so); + socantrcvmore(so); if (how == SHUT_RD) break; /* FALLTHROUGH */ diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index ccd6a6149dae..7c8e3d7e72db 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -824,10 +824,12 @@ tcp_usr_shutdown(struct socket *so, enum shutdown_how how) switch (how) { case SHUT_RD: - sorflush(so); + socantrcvmore(so); + sbrelease(so, SO_RCV); break; case SHUT_RDWR: - sorflush(so); + socantrcvmore(so); + sbrelease(so, SO_RCV); /* FALLTHROUGH */ case SHUT_WR: /* diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index f91a96edeb68..b68ec95a923a 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -1696,10 +1696,12 @@ udp_shutdown(struct socket *so, enum shutdown_how how) switch (how) { case SHUT_RD: - sorflush(so); + socantrcvmore(so); + sbrelease(so, SO_RCV); break; case SHUT_RDWR: - sorflush(so); + socantrcvmore(so); + sbrelease(so, SO_RCV); /* FALLTHROUGH */ case SHUT_WR: socantsendmore(so); |