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