This is an automated email from the git hooks/post-receive script. sthibault pushed a commit to branch dde in repository hurd.
commit f24cfd85037c2bf4d1c49fde8efe9038064b0e5c Author: Justus Winter <4win...@informatik.uni-hamburg.de> Date: Fri Apr 11 22:45:05 2014 +0200 libmachdev: improve the demuxer functions 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. * libmachdev/ds_routines.c (demuxer): Improve the demuxer function. * libmachdev/trivfs_server.c (demuxer): Likewise. --- libmachdev/ds_routines.c | 14 +++++++++----- libmachdev/trivfs_server.c | 17 +++++++++++------ 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/libmachdev/ds_routines.c b/libmachdev/ds_routines.c index bbf5488..0e431a3 100644 --- a/libmachdev/ds_routines.c +++ b/libmachdev/ds_routines.c @@ -360,11 +360,15 @@ void mach_device_init() static int demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp) { - int ret; - extern int device_server (mach_msg_header_t *, mach_msg_header_t *); - extern int notify_server (mach_msg_header_t *, mach_msg_header_t *); - ret = device_server (inp, outp) || notify_server (inp, outp); - return ret; + mig_routine_t routine; + if ((routine = device_server_routine (inp)) || + (routine = notify_server_routine (inp))) + { + (*routine) (inp, outp); + return TRUE; + } + else + return FALSE; } void reg_dev_emul (struct device_emulation_ops *ops) diff --git a/libmachdev/trivfs_server.c b/libmachdev/trivfs_server.c index 6d5b3ad..0d7fe24 100644 --- a/libmachdev/trivfs_server.c +++ b/libmachdev/trivfs_server.c @@ -125,12 +125,17 @@ trivfs_goaway (struct trivfs_control *fsys, int flags) static int demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp) { - int ret; - extern int device_server (mach_msg_header_t *, mach_msg_header_t *); - extern int notify_server (mach_msg_header_t *, mach_msg_header_t *); - ret = device_server (inp, outp) || notify_server (inp, outp) - || trivfs_demuxer (inp, outp); - return ret; + 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; } void -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hurd/hurd.git