summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp_output.c
diff options
context:
space:
mode:
authortuexen <tuexen@FreeBSD.org>2015-12-25 18:11:40 +0000
committertuexen <tuexen@FreeBSD.org>2015-12-25 18:11:40 +0000
commit0efa1469be94566c09b9f4ce538c28e92d26026c (patch)
treea4f7b374845552c29163b4c2670c53ee7609000b /sys/netinet/sctp_output.c
parent1d2026b19b295705240a2a740a18e29576e0819e (diff)
downloadFreeBSD-src-0efa1469be94566c09b9f4ce538c28e92d26026c.zip
FreeBSD-src-0efa1469be94566c09b9f4ce538c28e92d26026c.tar.gz
Don't implicitly terminate a user message when moving it to the
send_queue and the socket is closed. This results in strange race conditions for the application. While there, remove a stray character. MFC after: 3 days
Diffstat (limited to 'sys/netinet/sctp_output.c')
-rw-r--r--sys/netinet/sctp_output.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c
index c131edf..95ac97c 100644
--- a/sys/netinet/sctp_output.c
+++ b/sys/netinet/sctp_output.c
@@ -7219,7 +7219,7 @@ one_more_time:
}
/* Whack down the size */
atomic_subtract_int(&stcb->asoc.total_output_queue_size, sp->length);
- if ((stcb->sctp_socket != NULL) && \
+ if ((stcb->sctp_socket != NULL) &&
((stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_TCPTYPE) ||
(stcb->sctp_ep->sctp_flags & SCTP_PCB_FLAGS_IN_TCPPOOL))) {
atomic_subtract_int(&stcb->sctp_socket->so_snd.sb_cc, sp->length);
@@ -7238,9 +7238,6 @@ one_more_time:
}
}
some_taken = sp->some_taken;
- if (stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET) {
- sp->msg_is_complete = 1;
- }
re_look:
length = sp->length;
if (sp->msg_is_complete) {
OpenPOWER on IntegriCloud