summaryrefslogtreecommitdiffstats
path: root/sys/netinet
diff options
context:
space:
mode:
authortuexen <tuexen@FreeBSD.org>2016-01-17 12:41:46 +0000
committertuexen <tuexen@FreeBSD.org>2016-01-17 12:41:46 +0000
commit51d567a3244d2cbf72345c782b718897c29952e0 (patch)
treebd8d7b971d6b9cba26448afd29daa2df95d93318 /sys/netinet
parenta7d5fa045f1b2be1035734cfcfeffd6e4dac5ed9 (diff)
downloadFreeBSD-src-51d567a3244d2cbf72345c782b718897c29952e0.zip
FreeBSD-src-51d567a3244d2cbf72345c782b718897c29952e0.tar.gz
MFC r292734:
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.
Diffstat (limited to 'sys/netinet')
-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 c727162..5328f49 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