Justus Winter, le Fri 11 Apr 2014 23:09:55 +0200, a écrit : > Handle multiple request types as recommended by the Mach Server > Writer's Guide section 4, subsection "Handling Multiple Request > Types". This avoids initializing the reply message in every X_server > function. The reply message has already been properly initialized in > libports, so there is no need to call mig_reply_setup.
Ack. > * devnode/devnode.c (devnode_demuxer): Improve the demuxer function. > --- > devnode/devnode.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > > diff --git a/devnode/devnode.c b/devnode/devnode.c > index dbbd40e..789bf51 100644 > --- a/devnode/devnode.c > +++ b/devnode/devnode.c > @@ -82,10 +82,17 @@ static int > devnode_demuxer (mach_msg_header_t *inp, > mach_msg_header_t *outp) > { > - extern int device_server (mach_msg_header_t *, mach_msg_header_t *); > - extern int notify_server (mach_msg_header_t *, mach_msg_header_t *); > - return device_server (inp, outp) || notify_server (inp, outp) > - || trivfs_demuxer (inp, outp); > + mig_routine_t routine; > + if ((routine = device_server_routine (inp)) || > + (routine = notify_server_routine (inp)) || > + (routine = NULL, trivfs_demuxer (inp, outp))) > + { > + if (routine) > + (*routine) (inp, outp); > + return TRUE; > + } > + else > + return FALSE; > } > > /* Implementation of notify interface */ > -- > 1.9.1 > -- Samuel <d> bah à défaut de ligne TGV, ils ont un GR -+- #ens-mim - comment ça, paumé ?! -+-