GNU MIG recently gained support for emitting x_server_routine
declarations in the generated server header file.  Using this
declaration, the x_server_routine functions can be inlined into the
demuxer function.

* pflocal/demuxer.c: Include the mig-generated server headers.
* pflocal/sserver.c: Likewise.
---
 pflocal/pflocal.c |    3 +--
 pflocal/sserver.c |   10 +++++-----
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/pflocal/pflocal.c b/pflocal/pflocal.c
index d51f721..fcb62d1 100644
--- a/pflocal/pflocal.c
+++ b/pflocal/pflocal.c
@@ -46,13 +46,12 @@ int trivfs_protid_nportclasses = 1;
 int trivfs_cntl_nportclasses = 1;
 
 /* ---------------------------------------------------------------- */
+#include "socket_S.h"
 
 /* A demuxer to separate out pf-level operations on our node.  */
 static int
 pf_demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp)
 {
-  mig_routine_t socket_server_routine (mach_msg_header_t *);
-
   mig_routine_t routine;
   if ((routine = socket_server_routine (inp)) ||
       (routine = NULL, trivfs_demuxer (inp, outp)))
diff --git a/pflocal/sserver.c b/pflocal/sserver.c
index 4ce26b1..7df69a4 100644
--- a/pflocal/sserver.c
+++ b/pflocal/sserver.c
@@ -32,15 +32,15 @@ struct port_bucket *sock_port_bucket;
 static int sock_server_active = 0;
 static pthread_spinlock_t sock_server_active_lock = 
PTHREAD_SPINLOCK_INITIALIZER;
 
+#include "io_S.h"
+#include "socket_S.h"
+#include "../libports/interrupt_S.h"
+#include "../libports/notify_S.h"
+
 /* A demuxer for socket operations.  */
 static int
 sock_demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp)
 {
-  mig_routine_t io_server_routine (mach_msg_header_t *);
-  mig_routine_t socket_server_routine (mach_msg_header_t *);
-  mig_routine_t ports_interrupt_server_routine (mach_msg_header_t *);
-  mig_routine_t ports_notify_server_routine (mach_msg_header_t *);
-
   mig_routine_t routine;
   if ((routine = io_server_routine (inp)) ||
       (routine = socket_server_routine (inp)) ||
-- 
1.7.10.4


Reply via email to