Lines Matching refs:ep
236 struct g_event *ep; in one_event() local
253 ep = TAILQ_FIRST(&g_events); in one_event()
254 if (ep == NULL) { in one_event()
258 if (ep->flag & EV_INPROGRESS) { in one_event()
262 ep->flag |= EV_INPROGRESS; in one_event()
265 ep->func(ep->arg, 0); in one_event()
268 TAILQ_REMOVE(&g_events, ep, events); in one_event()
269 ep->flag &= ~EV_INPROGRESS; in one_event()
270 if (ep->flag & EV_WAKEUP) { in one_event()
271 ep->flag |= EV_DONE; in one_event()
273 wakeup(ep); in one_event()
276 g_free(ep); in one_event()
307 struct g_event *ep, *epn; in g_cancel_event() local
318 TAILQ_FOREACH_SAFE(ep, &g_events, events, epn) { in g_cancel_event()
319 if (ep->flag & EV_INPROGRESS) in g_cancel_event()
322 if (ep->ref[n] == NULL) in g_cancel_event()
324 if (ep->ref[n] != ref) in g_cancel_event()
326 TAILQ_REMOVE(&g_events, ep, events); in g_cancel_event()
327 ep->func(ep->arg, EV_CANCEL); in g_cancel_event()
329 if (ep->flag & EV_WAKEUP) { in g_cancel_event()
330 ep->flag |= (EV_DONE|EV_CANCELED); in g_cancel_event()
331 wakeup(ep); in g_cancel_event()
333 g_free(ep); in g_cancel_event()
346 struct g_event *ep; in g_post_event_x() local
354 ep = g_malloc(sizeof *ep, flag | M_ZERO); in g_post_event_x()
355 if (ep == NULL) in g_post_event_x()
357 ep->flag = wuflag; in g_post_event_x()
363 ep->ref[n] = p; in g_post_event_x()
366 ep->func = func; in g_post_event_x()
367 ep->arg = arg; in g_post_event_x()
369 TAILQ_INSERT_TAIL(&g_events, ep, events); in g_post_event_x()
373 *epp = ep; in g_post_event_x()
413 struct g_event *ep; in g_waitfor_event() local
420 error = g_post_event_x(func, arg, flag, EV_WAKEUP, &ep, ap); in g_waitfor_event()
426 while (!(ep->flag & EV_DONE)) in g_waitfor_event()
427 msleep(ep, &g_eventlock, PRIBIO, "g_waitfor_event", hz); in g_waitfor_event()
428 if (ep->flag & EV_CANCELED) in g_waitfor_event()
432 g_free(ep); in g_waitfor_event()