In
http://svnweb.freebsd.org/changeset/base/258221 I introduced a bug which initialized global locks whenever the SCTP stack initialized. This was fixed in http://svnweb.freebsd.org/changeset/base/258574 by rodrigc@. He just initialized the locks for the default vnet. This fix reverts to the old behaviour before r258221, which explicitly makes sure it is only called once, because this works also on other platforms. MFC after: 3 days X-MFC with: r258574.
This commit is contained in:
parent
011a151b50
commit
c302aeb123
@ -100,6 +100,9 @@ sctp_startup_iterator(void)
|
||||
/* You only get one */
|
||||
return;
|
||||
}
|
||||
/* Initialize global locks here, thus only once. */
|
||||
SCTP_ITERATOR_LOCK_INIT();
|
||||
SCTP_IPI_ITERATOR_WQ_INIT();
|
||||
TAILQ_INIT(&sctp_it_ctl.iteratorhead);
|
||||
kproc_create(sctp_iterator_thread,
|
||||
(void *)NULL,
|
||||
|
@ -5864,14 +5864,6 @@ sctp_pcb_init()
|
||||
for (i = 0; i < SCTP_STACK_VTAG_HASH_SIZE; i++) {
|
||||
LIST_INIT(&SCTP_BASE_INFO(vtag_timewait)[i]);
|
||||
}
|
||||
/*
|
||||
* Only initialize non-VNET global mutexes for the
|
||||
* default instance.
|
||||
*/
|
||||
if (IS_DEFAULT_VNET(curvnet)) {
|
||||
SCTP_ITERATOR_LOCK_INIT();
|
||||
SCTP_IPI_ITERATOR_WQ_INIT();
|
||||
}
|
||||
sctp_startup_iterator();
|
||||
|
||||
#if defined(__FreeBSD__) && defined(SCTP_MCORE_INPUT) && defined(SMP)
|
||||
|
Loading…
Reference in New Issue
Block a user