Lines Matching refs:pw

190 	sigfd_poll_waiter_t *pw;
192 for (pw = list_head(lst); pw != NULL; pw = list_next(lst, pw)) {
193 if (pw->spw_state == state)
197 if (pw == NULL) {
198 pw = kmem_zalloc(sizeof (*pw), KM_SLEEP);
202 pw->spw_state = state;
204 list_insert_head(lst, pw);
206 return (pw);
213 sigfd_poll_waiter_t *pw;
215 for (pw = list_head(lst); pw != NULL; pw = list_next(lst, pw)) {
216 if (pw->spw_state == state) {
221 if (pw != NULL) {
222 list_remove(lst, pw);
223 pw->spw_state = NULL;
227 return (pw);
234 sigfd_poll_waiter_t *pw;
241 while ((pw = list_remove_head(lst)) != NULL) {
242 signalfd_state_t *state = pw->spw_state;
244 pw->spw_state = NULL;
247 pollwakeup(&pw->spw_pollhd, POLLERR);
248 pollhead_clean(&pw->spw_pollhd);
249 kmem_free(pw, sizeof (*pw));
276 sigfd_poll_waiter_t *pw = arg;
277 signalfd_state_t *state = pw->spw_state;
279 pw->spw_state = NULL;
281 pollwakeup(&pw->spw_pollhd, pw->spw_pollev);
282 pollhead_clean(&pw->spw_pollhd);
283 kmem_free(pw, sizeof (*pw));
304 sigfd_poll_waiter_t *pw;
310 pw = list_head(lst);
311 while (pw != NULL) {
312 signalfd_state_t *state = pw->spw_state;
317 pw->spw_pollev = POLLERR;
319 pw->spw_pollev = POLLRDNORM | POLLIN;
322 pw = list_next(lst, pw);
333 next = list_next(lst, pw);
334 list_remove(lst, pw);
335 taskq_dispatch_ent(signalfd_wakeq, signalfd_wake_task, pw, 0,
336 &pw->spw_taskent);
337 pw = next;
586 sigfd_poll_waiter_t *pw;
613 pw = signalfd_wake_list_add(pstate, state);
614 *phpp = &pw->spw_pollhd;
656 sigfd_poll_waiter_t *pw = NULL;
668 pw = signalfd_wake_list_rm(pstate, state);
675 if (pw != NULL) {
676 pollwakeup(&pw->spw_pollhd, POLLERR);
677 pollhead_clean(&pw->spw_pollhd);
678 kmem_free(pw, sizeof (*pw));