commit-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[hurd] 57/98: utils: improve the auth_demuxer function in fakeauth.c


From: Samuel Thibault
Subject: [hurd] 57/98: utils: improve the auth_demuxer function in fakeauth.c
Date: Tue, 14 Jan 2014 02:00:02 +0000

This is an automated email from the git hooks/post-receive script.

sthibault pushed a commit to branch upstream
in repository hurd.

commit cc2464c4969f232ed6efb305adfdb69b2176ff34
Author: Justus Winter <address@hidden>
Date:   Wed Dec 4 10:21:41 2013 +0100

    utils: improve the auth_demuxer function in fakeauth.c
    
    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.
    
    * utils/fakeauth.c (auth_demuxer): Improve the demuxer function.
---
 utils/fakeauth.c | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/utils/fakeauth.c b/utils/fakeauth.c
index 154bf8e..2c72c89 100644
--- a/utils/fakeauth.c
+++ b/utils/fakeauth.c
@@ -302,11 +302,20 @@ S_interrupt_operation (mach_port_t port, 
mach_port_seqno_t seqno)
 static int
 auth_demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp)
 {
-  extern int auth_server (mach_msg_header_t *inp, mach_msg_header_t *outp);
-  extern int interrupt_server (mach_msg_header_t *inp, mach_msg_header_t *);
-  return (auth_server (inp, outp) ||
-         interrupt_server (inp, outp) ||
-         ports_notify_server (inp, outp));
+  mig_routine_t auth_server_routine (mach_msg_header_t *);
+  mig_routine_t interrupt_server_routine (mach_msg_header_t *);
+  mig_routine_t ports_notify_server_routine (mach_msg_header_t *);
+
+  mig_routine_t routine;
+  if ((routine = auth_server_routine (inp)) ||
+      (routine = interrupt_server_routine (inp)) ||
+      (routine = ports_notify_server_routine (inp)))
+    {
+      (*routine) (inp, outp);
+      return TRUE;
+    }
+  else
+    return FALSE;
 }
 
 

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-hurd/hurd.git



reply via email to

[Prev in Thread] Current Thread [Next in Thread]