diff options
author | tuexen <tuexen@FreeBSD.org> | 2016-01-17 12:41:46 +0000 |
---|---|---|
committer | tuexen <tuexen@FreeBSD.org> | 2016-01-17 12:41:46 +0000 |
commit | 51d567a3244d2cbf72345c782b718897c29952e0 (patch) | |
tree | bd8d7b971d6b9cba26448afd29daa2df95d93318 /sys/netinet | |
parent | a7d5fa045f1b2be1035734cfcfeffd6e4dac5ed9 (diff) | |
download | FreeBSD-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.c | 5 |
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) { |