summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2020-07-29 23:24:32 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2020-07-29 23:24:32 +0000
commit0f70a1489d0701e4c1840d13d4ed89e7bf624eac (patch)
treed6febc21aa840f9500ea95f4ba1fa073a9c896cf
parentadeebf4cd47c3e85155d92f386bda5e519b75ab2 (diff)
Notes
-rw-r--r--sys/kern/uipc_socket.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
index 15a8b1439463..ac138679c850 100644
--- a/sys/kern/uipc_socket.c
+++ b/sys/kern/uipc_socket.c
@@ -1965,12 +1965,17 @@ restart:
}
SOCKBUF_LOCK_ASSERT(&so->so_rcv);
if (so->so_rcv.sb_state & SBS_CANTRCVMORE) {
- if (m == NULL && so->so_rcv.sb_tlsdcc == 0 &&
+ if (m != NULL)
+ goto dontblock;
+#ifdef KERN_TLS
+ else if (so->so_rcv.sb_tlsdcc == 0 &&
so->so_rcv.sb_tlscc == 0) {
+#else
+ else {
+#endif
SOCKBUF_UNLOCK(&so->so_rcv);
goto release;
- } else
- goto dontblock;
+ }
}
for (; m != NULL; m = m->m_next)
if (m->m_type == MT_OOBDATA || (m->m_flags & M_EOR)) {