Date: Wed, 26 Feb 2003 13:15:12 -0800 (PST) From: John Baldwin <jhb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 25954 for review Message-ID: <200302262115.h1QLFC7d012308@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=25954 Change 25954 by jhb@jhb_laptop on 2003/02/26 13:15:10 Compiling is good. Affected files ... .. //depot/projects/smpng/sys/sys/eventhandler.h#10 edit Differences ... ==== //depot/projects/smpng/sys/sys/eventhandler.h#10 (text+ko) ==== @@ -59,8 +59,9 @@ /* * Macro to invoke the handlers for a given event. */ -#define _EVENTHANDLER_INVOKE(list, ...) do { \ - struct eventhandler_entry *_ep, *_en; \ +#define _EVENTHANDLER_INVOKE(name, list, ...) do { \ + struct eventhandler_entry *_ep; \ + struct eventhandler_entry_ ## name *_t; \ \ KASSERT((list)->el_flags & EHL_INITTED, \ ("eventhandler_invoke: running non-inited list")); \ @@ -71,7 +72,8 @@ TAILQ_FOREACH(_ep, &((list)->el_entries), ee_link) { \ if (!(_ep->ee_priority != EHE_DEAD_PRIORITY)) { \ EHL_UNLOCK((list)); \ - _ep->eh_func(_ep->ee_arg , __VA_ARGS__); \ + _t = (struct eventhandler_entry_ ## name *)_ep; \ + _t->eh_func(_ep->ee_arg , __VA_ARGS__); \ EHL_LOCK((list)); \ } \ } \ @@ -111,7 +113,7 @@ \ if (_el->el_flags & EHL_INITTED) { \ EHL_LOCK(_el); \ - _EVENTHANDLER_INVOKE(_el, __VA_ARGS__); \ + _EVENTHANDLER_INVOKE(name, _el, __VA_ARGS__); \ } \ } while (0) @@ -124,7 +126,7 @@ \ KASSERT(_el->el_flags & EHL_INITTED, \ ("eventhandler_fast_deregister on un-inited list %s", ## name)); \ - EHL_LOCK(el); \ + EHL_LOCK(_el); \ eventhandler_deregister(_el, tag); \ } while (0) @@ -148,7 +150,7 @@ struct eventhandler_list *_el; \ \ if ((_el = eventhandler_find_list(#name)) != NULL) \ - _EVENTHANDLER_INVOKE(el, __VA_ARGS__); \ + _EVENTHANDLER_INVOKE(name, _el, __VA_ARGS__); \ } while (0) #define EVENTHANDLER_REGISTER(name, func, arg, priority) \ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200302262115.h1QLFC7d012308>