summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp_usrreq.c
diff options
context:
space:
mode:
authorrrs <rrs@FreeBSD.org>2007-12-07 01:32:14 +0000
committerrrs <rrs@FreeBSD.org>2007-12-07 01:32:14 +0000
commitfad90600c19b80ff5cafb5fd89a160912b9a6e81 (patch)
tree28675f5e9591ab08a3868a32b2e938383f8959ab /sys/netinet/sctp_usrreq.c
parente85902857b909623d774f2b8773d681b4116c23a (diff)
downloadFreeBSD-src-fad90600c19b80ff5cafb5fd89a160912b9a6e81.zip
FreeBSD-src-fad90600c19b80ff5cafb5fd89a160912b9a6e81.tar.gz
- More fixes for lock misses on the transfer of data to
the sent_queue. Sometimes I wonder why any code ever works :-) - Fix the pad of the last mbuf routine, It was working improperly on non-4 byte aligned chunks which could cause memory overruns. MFC after: 1 week
Diffstat (limited to 'sys/netinet/sctp_usrreq.c')
-rw-r--r--sys/netinet/sctp_usrreq.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/netinet/sctp_usrreq.c b/sys/netinet/sctp_usrreq.c
index aea2db5..0c6bf6f 100644
--- a/sys/netinet/sctp_usrreq.c
+++ b/sys/netinet/sctp_usrreq.c
@@ -4152,6 +4152,11 @@ sctp_listen(struct socket *so, int backlog, struct thread *p)
}
SOCK_LOCK(so);
} else {
+ if (backlog != 0) {
+ inp->sctp_flags |= SCTP_PCB_FLAGS_LISTENING;
+ } else {
+ inp->sctp_flags &= ~SCTP_PCB_FLAGS_LISTENING;
+ }
SCTP_INP_RUNLOCK(inp);
}
/* It appears for 7.0 and on, we must always call this. */
OpenPOWER on IntegriCloud