Lines Matching refs:evthdlr_lists_ctxt
88 struct eventhandler_lists_ctxt *evthdlr_lists_ctxt, const char *name);
91 eventhandler_lists_ctxt_init(struct eventhandler_lists_ctxt *evthdlr_lists_ctxt) in eventhandler_lists_ctxt_init() argument
93 VERIFY(evthdlr_lists_ctxt != NULL); in eventhandler_lists_ctxt_init()
95 TAILQ_INIT(&evthdlr_lists_ctxt->eventhandler_lists); in eventhandler_lists_ctxt_init()
96 evthdlr_lists_ctxt->eventhandler_lists_initted = 1; in eventhandler_lists_ctxt_init()
97 lck_mtx_init(&evthdlr_lists_ctxt->eventhandler_mutex, in eventhandler_lists_ctxt_init()
116 struct eventhandler_lists_ctxt *evthdlr_lists_ctxt, in eventhandler_register_internal() argument
125 if (evthdlr_lists_ctxt == NULL) { in eventhandler_register_internal()
126 evthdlr_lists_ctxt = &evthdlr_lists_ctxt_glb; in eventhandler_register_internal()
129 VERIFY(evthdlr_lists_ctxt->eventhandler_lists_initted); /* eventhandler registered too early */ in eventhandler_register_internal()
133 lck_mtx_lock_spin(&evthdlr_lists_ctxt->eventhandler_mutex); in eventhandler_register_internal()
138 list = _eventhandler_find_list(evthdlr_lists_ctxt, name); in eventhandler_register_internal()
142 lck_mtx_convert_spin(&evthdlr_lists_ctxt->eventhandler_mutex); in eventhandler_register_internal()
150 TAILQ_INSERT_HEAD(&evthdlr_lists_ctxt->eventhandler_lists, list, el_link); in eventhandler_register_internal()
158 lck_mtx_unlock(&evthdlr_lists_ctxt->eventhandler_mutex); in eventhandler_register_internal()
182 eventhandler_register(struct eventhandler_lists_ctxt *evthdlr_lists_ctxt, in eventhandler_register() argument
194 return eventhandler_register_internal(evthdlr_lists_ctxt, list, name, &eg->ee); in eventhandler_register()
251 _eventhandler_find_list(struct eventhandler_lists_ctxt *evthdlr_lists_ctxt, in _eventhandler_find_list() argument
256 VERIFY(evthdlr_lists_ctxt != NULL); in _eventhandler_find_list()
258 LCK_MTX_ASSERT(&evthdlr_lists_ctxt->eventhandler_mutex, LCK_MTX_ASSERT_OWNED); in _eventhandler_find_list()
259 TAILQ_FOREACH(list, &evthdlr_lists_ctxt->eventhandler_lists, el_link) { in _eventhandler_find_list()
271 eventhandler_find_list(struct eventhandler_lists_ctxt *evthdlr_lists_ctxt, in eventhandler_find_list() argument
276 if (evthdlr_lists_ctxt == NULL) { in eventhandler_find_list()
277 evthdlr_lists_ctxt = &evthdlr_lists_ctxt_glb; in eventhandler_find_list()
280 if (!evthdlr_lists_ctxt->eventhandler_lists_initted) { in eventhandler_find_list()
285 lck_mtx_lock_spin(&evthdlr_lists_ctxt->eventhandler_mutex); in eventhandler_find_list()
286 list = _eventhandler_find_list(evthdlr_lists_ctxt, name); in eventhandler_find_list()
288 lck_mtx_convert_spin(&evthdlr_lists_ctxt->eventhandler_mutex); in eventhandler_find_list()
291 lck_mtx_unlock(&evthdlr_lists_ctxt->eventhandler_mutex); in eventhandler_find_list()
326 eventhandler_lists_ctxt_destroy(struct eventhandler_lists_ctxt *evthdlr_lists_ctxt) in eventhandler_lists_ctxt_destroy() argument
331 lck_mtx_lock(&evthdlr_lists_ctxt->eventhandler_mutex); in eventhandler_lists_ctxt_destroy()
332 TAILQ_FOREACH_SAFE(list, &evthdlr_lists_ctxt->eventhandler_lists, in eventhandler_lists_ctxt_destroy()
338 lck_mtx_unlock(&evthdlr_lists_ctxt->eventhandler_mutex); in eventhandler_lists_ctxt_destroy()
339 lck_mtx_destroy(&evthdlr_lists_ctxt->eventhandler_mutex, in eventhandler_lists_ctxt_destroy()