diff options
Diffstat (limited to 'sys/netinet/sctp_usrreq.c')
-rw-r--r-- | sys/netinet/sctp_usrreq.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/netinet/sctp_usrreq.c b/sys/netinet/sctp_usrreq.c index 77f15ae..9d3c55b 100644 --- a/sys/netinet/sctp_usrreq.c +++ b/sys/netinet/sctp_usrreq.c @@ -964,7 +964,7 @@ sctp_shutdown(struct socket *so) sctp_stop_timers_for_shutdown(stcb); sctp_send_shutdown(stcb, stcb->asoc.primary_destination); - sctp_chunk_output(stcb->sctp_ep, stcb, SCTP_OUTPUT_FROM_T3, SCTP_SO_NOT_LOCKED); + sctp_chunk_output(stcb->sctp_ep, stcb, SCTP_OUTPUT_FROM_T3, SCTP_SO_LOCKED); if ((SCTP_GET_STATE(asoc) == SCTP_STATE_OPEN) || (SCTP_GET_STATE(asoc) == SCTP_STATE_SHUTDOWN_RECEIVED)) { SCTP_STAT_DECR_GAUGE32(sctps_currestab); @@ -1224,11 +1224,11 @@ sctp_fill_up_addresses(struct sctp_inpcb *inp, { size_t size = 0; - SCTP_IPI_ADDR_LOCK(); + SCTP_IPI_ADDR_RLOCK(); /* fill up addresses for the endpoint's default vrf */ size = sctp_fill_up_addresses_vrf(inp, stcb, limit, sas, inp->def_vrf_id); - SCTP_IPI_ADDR_UNLOCK(); + SCTP_IPI_ADDR_RUNLOCK(); return (size); } @@ -1291,10 +1291,10 @@ sctp_count_max_addresses(struct sctp_inpcb *inp) { int cnt = 0; - SCTP_IPI_ADDR_LOCK(); + SCTP_IPI_ADDR_RLOCK(); /* count addresses for the endpoint's default VRF */ cnt = sctp_count_max_addresses_vrf(inp, inp->def_vrf_id); - SCTP_IPI_ADDR_UNLOCK(); + SCTP_IPI_ADDR_RUNLOCK(); return (cnt); } |