commit-hurd
[Top][All Lists]
Advanced

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

[hurd] 17/25: eth-multiplexer: improve the demuxer function


From: Samuel Thibault
Subject: [hurd] 17/25: eth-multiplexer: improve the demuxer function
Date: Tue, 27 May 2014 08:32:03 +0000

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

sthibault pushed a commit to branch dde
in repository hurd.

commit 60735c6c8b1382518db01ca7d416113b03bb837b
Author: Justus Winter <address@hidden>
Date:   Fri Apr 11 22:53:29 2014 +0200

    eth-multiplexer: improve the demuxer function
    
    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.
    
    * eth-multiplexer/multiplexer.c (multiplexer_demuxer): Improve the
    demuxer function.  Prioritize the ethernet_demuxer.
---
 eth-multiplexer/multiplexer.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/eth-multiplexer/multiplexer.c b/eth-multiplexer/multiplexer.c
index a133f45..cc0024e 100644
--- a/eth-multiplexer/multiplexer.c
+++ b/eth-multiplexer/multiplexer.c
@@ -79,12 +79,17 @@ static int
 multiplexer_demuxer (mach_msg_header_t *inp,
                  mach_msg_header_t *outp)
 {
-  int device_server (mach_msg_header_t *, mach_msg_header_t *);
-  int notify_server (mach_msg_header_t *, mach_msg_header_t *);
-
-  return (device_server (inp, outp)
-          || notify_server (inp, outp)
-          || ethernet_demuxer (inp, outp));
+  mig_routine_t routine;
+  if ((routine = NULL, ethernet_demuxer (inp, outp)) ||
+      (routine = device_server_routine (inp)) ||
+      (routine = notify_server_routine (inp)))
+    {
+      if (routine)
+        (*routine) (inp, outp);
+      return TRUE;
+    }
+  else
+    return FALSE;
 }
 
 static void *

-- 
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]