Lines Matching refs:mppi
80 struct mppcbinfo *mppi;
103 TAILQ_FOREACH(mppi, &mppi_head, mppi_entry) {
104 if ((gc && mppi->mppi_gc != NULL) ||
105 (t && mppi->mppi_timer != NULL)) {
106 lck_mtx_lock(&mppi->mppi_lock);
107 if (gc && mppi->mppi_gc != NULL)
108 gc_act += mppi->mppi_gc(mppi);
109 if (t && mppi->mppi_timer != NULL)
110 t_act += mppi->mppi_timer(mppi);
111 lck_mtx_unlock(&mppi->mppi_lock);
162 mp_pcbinfo_attach(struct mppcbinfo *mppi)
168 if (mppi0 == mppi) {
169 panic("%s: mppi %p already in the list\n",
170 __func__, mppi);
174 TAILQ_INSERT_TAIL(&mppi_head, mppi, mppi_entry);
179 mp_pcbinfo_detach(struct mppcbinfo *mppi)
186 if (mppi0 == mppi)
199 mp_pcballoc(struct socket *so, struct mppcbinfo *mppi)
205 lck_mtx_lock(&mppi->mppi_lock);
206 if (mppi->mppi_count >= mptcp_socket_limit) {
207 lck_mtx_unlock(&mppi->mppi_lock);
211 lck_mtx_unlock(&mppi->mppi_lock);
213 mpp = zalloc(mppi->mppi_zone);
217 bzero(mpp, mppi->mppi_size);
218 lck_mtx_init(&mpp->mpp_lock, mppi->mppi_lock_grp, mppi->mppi_lock_attr);
219 mpp->mpp_pcbinfo = mppi;
224 lck_mtx_lock(&mppi->mppi_lock);
226 TAILQ_INSERT_TAIL(&mppi->mppi_pcbs, mpp, mpp_entry);
227 mppi->mppi_count++;
228 lck_mtx_unlock(&mppi->mppi_lock);
250 struct mppcbinfo *mppi = mpp->mpp_pcbinfo;
252 VERIFY(mppi != NULL);
254 lck_mtx_assert(&mppi->mppi_lock, LCK_MTX_ASSERT_OWNED);
261 TAILQ_REMOVE(&mppi->mppi_pcbs, mpp, mpp_entry);
262 VERIFY(mppi->mppi_count != 0);
263 mppi->mppi_count--;
271 lck_mtx_destroy(&mpp->mpp_lock, mppi->mppi_lock_grp);
272 zfree(mppi->mppi_zone, mpp);