Applied, thanks! Sergey Bugaev, le mer. 27 mars 2024 19:18:32 +0300, a ecrit: > ipc_entry_lookup_failed() is used with both mach_msg_user_header_t and > mach_msg_header_t arguments, which are different types. Make it into a > macro, so it works with both. > --- > ipc/ipc_space.h | 22 +++++++++++++--------- > 1 file changed, 13 insertions(+), 9 deletions(-) > > diff --git a/ipc/ipc_space.h b/ipc/ipc_space.h > index 96d58942..9adbd3f7 100644 > --- a/ipc/ipc_space.h > +++ b/ipc/ipc_space.h > @@ -159,15 +159,19 @@ ipc_entry_lookup( > > extern volatile boolean_t mach_port_deallocate_debug; > > -static inline void > -ipc_entry_lookup_failed(mach_msg_header_t *msg, mach_port_name_t name) > -{ > - if (name == MACH_PORT_NAME_NULL || name == MACH_PORT_NAME_DEAD) > - return; > - printf("task %.*s looked up a bogus port %lu for %d, most probably a > bug.\n", (int) sizeof current_task()->name, current_task()->name, (unsigned > long) name, msg->msgh_id); > - if (mach_port_deallocate_debug) > - SoftDebugger("ipc_entry_lookup"); > -} > +#define ipc_entry_lookup_failed(msg, port_name) > \ > +MACRO_BEGIN \ > + if (MACH_PORT_NAME_VALID(port_name)) { \ > + printf("task %.*s looked up a bogus port %lu for %d, " \ > + "most probably a bug.\n", \ > + (int) sizeof current_task()->name, \ > + current_task()->name, \ > + (unsigned long) (port_name), \ > + (msg)->msgh_id); \ > + if (mach_port_deallocate_debug) \ > + SoftDebugger("ipc_entry_lookup"); \ > + } \ > +MACRO_END > > /* > * Routine: ipc_entry_get > -- > 2.44.0 >
-- Samuel --- Pour une évaluation indépendante, transparente et rigoureuse ! Je soutiens la Commission d'Évaluation de l'Inria.