diff options
author | rrs <rrs@FreeBSD.org> | 2010-06-07 04:01:38 +0000 |
---|---|---|
committer | rrs <rrs@FreeBSD.org> | 2010-06-07 04:01:38 +0000 |
commit | de042002c0e026b253c76d8bbf1c2c7a8d4368e7 (patch) | |
tree | fce5dade1441ef1ed397f63440b540fb582828f2 /sys/netinet | |
parent | caf58c06dccc18cc48b8c0e79badc9395c7c9028 (diff) | |
download | FreeBSD-src-de042002c0e026b253c76d8bbf1c2c7a8d4368e7.zip FreeBSD-src-de042002c0e026b253c76d8bbf1c2c7a8d4368e7.tar.gz |
Fix so we call socantrcvmore_locked so we
don't see a race where we unlock to call
the non-locked version and have the socket
go away.
MFC after: 1 week
Diffstat (limited to 'sys/netinet')
-rw-r--r-- | sys/netinet/sctp_pcb.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index 8547584..d7ce355 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -4675,8 +4675,8 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tcb *stcb, int from_inpcbfre SS_ISCONFIRMING | SS_ISCONNECTED); } + socantrcvmore_locked(so); SOCK_UNLOCK(so); - socantrcvmore(so); sctp_sowwakeup(inp, so); sctp_sorwakeup(inp, so); SCTP_SOWAKEUP(so); |