aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/uipc_socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/uipc_socket.c')
-rw-r--r--sys/kern/uipc_socket.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
index efa349d140ff..3409a7085df6 100644
--- a/sys/kern/uipc_socket.c
+++ b/sys/kern/uipc_socket.c
@@ -3007,7 +3007,7 @@ soshutdown(struct socket *so, int how)
pr = so->so_proto;
if (pr->pr_flush != NULL)
pr->pr_flush(so, how);
- if (how != SHUT_WR)
+ if (how != SHUT_WR && !(pr->pr_flags & PR_SOCKBUF))
sorflush(so);
if (how != SHUT_RD) {
error = pr->pr_shutdown(so);