Lines Matching refs:sctp_it_ctl
3813 it = sctp_it_ctl.cur_it;
3835 sctp_it_ctl.iterator_flags |= SCTP_ITERATOR_STOP_CUR_IT;
3837 sctp_it_ctl.iterator_flags |= SCTP_ITERATOR_STOP_CUR_INP;
3844 TAILQ_FOREACH_SAFE(it, &sctp_it_ctl.iteratorhead, sctp_nxt_itr, nit) {
3854 TAILQ_REMOVE(&sctp_it_ctl.iteratorhead,
6797 InitializeConditionVariable(&sctp_it_ctl.iterator_wakeup);
6799 (void)pthread_cond_init(&sctp_it_ctl.iterator_wakeup, NULL);
6860 sctp_it_ctl.iterator_flags |= SCTP_ITERATOR_MUST_EXIT;
6870 msleep(&sctp_it_ctl.iterator_flags,
6871 sctp_it_ctl.ipi_iterator_wq_mtx,
6873 } while ((sctp_it_ctl.iterator_flags & SCTP_ITERATOR_EXITED) == 0);
6874 thread_deallocate(sctp_it_ctl.thread_proc);
6878 if (sctp_it_ctl.iterator_thread_obj != NULL) {
6881 KeSetEvent(&sctp_it_ctl.iterator_wakeup[1], IO_NO_INCREMENT, FALSE);
6882 status = KeWaitForSingleObject(sctp_it_ctl.iterator_thread_obj,
6887 ObDereferenceObject(sctp_it_ctl.iterator_thread_obj);
6893 WaitForSingleObject(sctp_it_ctl.thread_proc, INFINITE);
6894 CloseHandle(sctp_it_ctl.thread_proc);
6895 sctp_it_ctl.thread_proc = NULL;
6897 pthread_join(sctp_it_ctl.thread_proc, NULL);
6898 sctp_it_ctl.thread_proc = 0;
6904 DeleteConditionVariable(&sctp_it_ctl.iterator_wakeup);
6906 pthread_cond_destroy(&sctp_it_ctl.iterator_wakeup);
6927 if (sctp_it_ctl.iterator_running != 0 || sctp_it_ctl.cur_it != NULL) {
6930 "cur_it=%p\n", __func__, sctp_it_ctl.cur_it);
6935 TAILQ_FOREACH_SAFE(it, &sctp_it_ctl.iteratorhead, sctp_nxt_itr, nit) {
6941 TAILQ_REMOVE(&sctp_it_ctl.iteratorhead, it, sctp_nxt_itr);
6950 if ((sctp_it_ctl.cur_it) &&
6951 (sctp_it_ctl.cur_it->vn == curvnet)) {
6952 sctp_it_ctl.iterator_flags |= SCTP_ITERATOR_STOP_CUR_IT;
8200 TAILQ_INSERT_TAIL(&sctp_it_ctl.iteratorhead, it, sctp_nxt_itr);
8201 if (sctp_it_ctl.iterator_running == 0) {