Page MenuHomeFreeBSD

D31774.diff
No OneTemporary

D31774.diff

diff --git a/sys/netinet/sctp_usrreq.c b/sys/netinet/sctp_usrreq.c
--- a/sys/netinet/sctp_usrreq.c
+++ b/sys/netinet/sctp_usrreq.c
@@ -7249,14 +7249,16 @@
}
if ((inp->sctp_flags & SCTP_PCB_FLAGS_UDPTYPE) == 0) {
solisten_proto(so, backlog);
- } else {
- solisten_proto_abort(so);
- }
- SOCK_UNLOCK(so);
- if (backlog > 0) {
+ SOCK_UNLOCK(so);
inp->sctp_flags |= SCTP_PCB_FLAGS_ACCEPTING;
} else {
- inp->sctp_flags &= ~SCTP_PCB_FLAGS_ACCEPTING;
+ solisten_proto_abort(so);
+ SOCK_UNLOCK(so);
+ if (backlog > 0) {
+ inp->sctp_flags |= SCTP_PCB_FLAGS_ACCEPTING;
+ } else {
+ inp->sctp_flags &= ~SCTP_PCB_FLAGS_ACCEPTING;
+ }
}
out:
SCTP_INP_WUNLOCK(inp);

File Metadata

Mime Type
text/plain
Expires
Mon, Oct 12, 8:44 AM (11 h, 28 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
40665054
Default Alt Text
D31774.diff (683 B)

Event Timeline