diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2013-12-17 18:44:50 +0100 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2013-12-17 18:44:50 +0100 |
commit | 0ca6e7b2768b5a0461f75fd0ef3b0764ef952250 (patch) | |
tree | 8fbe4abc5c0d6c92fa58630be75c3511d4dbaa6c | |
parent | acf62d04bc2ad8bc4fe4ee92bf6ea398c8199153 (diff) |
add fast-demuxers.patch
-rw-r--r-- | debian/patches/fast-demuxers.patch | 253 | ||||
-rw-r--r-- | debian/patches/series | 1 |
2 files changed, 254 insertions, 0 deletions
diff --git a/debian/patches/fast-demuxers.patch b/debian/patches/fast-demuxers.patch new file mode 100644 index 00000000..a96340a2 --- /dev/null +++ b/debian/patches/fast-demuxers.patch @@ -0,0 +1,253 @@ +diff --git a/auth/auth.c b/auth/auth.c +index a395e79..e69c4f8 100644 +--- a/auth/auth.c ++++ b/auth/auth.c +@@ -464,18 +464,16 @@ S_auth_server_authenticate (struct authhandle *serverauth, + } + + ++#include "../libports/notify_S.h" ++#include "../libports/interrupt_S.h" + + static int + auth_demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp) + { +- mig_routine_t auth_server_routine (mach_msg_header_t *); +- mig_routine_t ports_notify_server_routine (mach_msg_header_t *); +- mig_routine_t ports_interrupt_server_routine (mach_msg_header_t *); +- + mig_routine_t routine; + if ((routine = auth_server_routine (inp)) || +- (routine = ports_notify_server_routine (inp)) || +- (routine = ports_interrupt_server_routine (inp))) ++ (routine = ports_interrupt_server_routine (inp)) || ++ (routine = ports_notify_server_routine (inp))) + { + (*routine) (inp, outp); + return TRUE; +diff --git a/exec/main.c b/exec/main.c +index 41b1db4..c1f347c 100644 +--- a/exec/main.c ++++ b/exec/main.c +@@ -46,12 +46,12 @@ struct trivfs_control *fsys; + char **save_argv; + + ++#include "exec_S.h" ++#include "exec_startup_S.h" ++ + static int + exec_demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp) + { +- mig_routine_t exec_server_routine (mach_msg_header_t *); +- mig_routine_t exec_startup_server_routine (mach_msg_header_t *); +- + mig_routine_t routine; + if ((routine = exec_server_routine (inp)) || + (routine = NULL, trivfs_demuxer (inp, outp)) || +diff --git a/libdiskfs/demuxer.c b/libdiskfs/demuxer.c +index 5412f26..4a1c4fb 100644 +--- a/libdiskfs/demuxer.c ++++ b/libdiskfs/demuxer.c +@@ -17,19 +17,19 @@ + + #include "priv.h" + ++#include "io_S.h" ++#include "fs_S.h" ++#include "../libports/notify_S.h" ++#include "fsys_S.h" ++#include "../libports/interrupt_S.h" ++#include "ifsock_S.h" ++#include "startup_notify_S.h" ++#include "exec_startup_S.h" ++ + int + diskfs_demuxer (mach_msg_header_t *inp, + mach_msg_header_t *outp) + { +- mig_routine_t diskfs_io_server_routine (mach_msg_header_t *); +- mig_routine_t diskfs_fs_server_routine (mach_msg_header_t *); +- mig_routine_t ports_notify_server_routine (mach_msg_header_t *); +- mig_routine_t diskfs_fsys_server_routine (mach_msg_header_t *); +- mig_routine_t ports_interrupt_server_routine (mach_msg_header_t *); +- mig_routine_t diskfs_ifsock_server_routine (mach_msg_header_t *); +- mig_routine_t diskfs_exec_startup_server_routine (mach_msg_header_t *); +- mig_routine_t diskfs_startup_notify_server_routine (mach_msg_header_t *); +- + mig_routine_t routine; + if ((routine = diskfs_io_server_routine (inp)) || + (routine = diskfs_fs_server_routine (inp)) || +diff --git a/libnetfs/demuxer.c b/libnetfs/demuxer.c +index 8ef4d86..4c20ab6 100644 +--- a/libnetfs/demuxer.c ++++ b/libnetfs/demuxer.c +@@ -20,17 +20,17 @@ + + #include "netfs.h" + ++#include "io_S.h" ++#include "fs_S.h" ++#include "../libports/notify_S.h" ++#include "fsys_S.h" ++#include "../libports/interrupt_S.h" ++#include "ifsock_S.h" ++ + int + netfs_demuxer (mach_msg_header_t *inp, + mach_msg_header_t *outp) + { +- mig_routine_t netfs_io_server_routine (mach_msg_header_t *); +- mig_routine_t netfs_fs_server_routine (mach_msg_header_t *); +- mig_routine_t ports_notify_server_routine (mach_msg_header_t *); +- mig_routine_t netfs_fsys_server_routine (mach_msg_header_t *); +- mig_routine_t ports_interrupt_server_routine (mach_msg_header_t *); +- mig_routine_t netfs_ifsock_server_routine (mach_msg_header_t *); +- + mig_routine_t routine; + if ((routine = netfs_io_server_routine (inp)) || + (routine = netfs_fs_server_routine (inp)) || +diff --git a/libtrivfs/demuxer.c b/libtrivfs/demuxer.c +index 411699f..306cd11 100644 +--- a/libtrivfs/demuxer.c ++++ b/libtrivfs/demuxer.c +@@ -21,17 +21,16 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + + #include "priv.h" + ++#include "trivfs_io_S.h" ++#include "trivfs_fs_S.h" ++#include "../libports/notify_S.h" ++#include "trivfs_fsys_S.h" ++#include "../libports/interrupt_S.h" ++ + int + trivfs_demuxer (mach_msg_header_t *inp, + mach_msg_header_t *outp) + { +- mig_routine_t trivfs_io_server_routine (mach_msg_header_t *); +- mig_routine_t trivfs_fs_server_routine (mach_msg_header_t *); +- mig_routine_t ports_notify_server_routine (mach_msg_header_t *); +- mig_routine_t trivfs_fsys_server_routine (mach_msg_header_t *); +- mig_routine_t ports_interrupt_server_routine (mach_msg_header_t *); +- mig_routine_t trivfs_ifsock_server_routine (mach_msg_header_t *); +- + mig_routine_t routine; + if ((routine = trivfs_io_server_routine (inp)) || + (routine = trivfs_fs_server_routine (inp)) || +diff --git a/pfinet/main.c b/pfinet/main.c +index dce1600..a596e18 100644 +--- a/pfinet/main.c ++++ b/pfinet/main.c +@@ -72,16 +72,17 @@ const char *argp_program_version = STANDARD_HURD_VERSION (pfinet); + /* Option parser. */ + extern struct argp pfinet_argp; + ++#include "io_S.h" ++#include "socket_S.h" ++#include "pfinet_S.h" ++#include "iioctl_S.h" ++#include "startup_notify_S.h" ++ + int + pfinet_demuxer (mach_msg_header_t *inp, + mach_msg_header_t *outp) + { + struct port_info *pi; +- mig_routine_t io_server_routine (mach_msg_header_t *); +- mig_routine_t socket_server_routine (mach_msg_header_t *); +- mig_routine_t pfinet_server_routine (mach_msg_header_t *); +- mig_routine_t iioctl_server_routine (mach_msg_header_t *); +- mig_routine_t startup_notify_server_routine (mach_msg_header_t *); + + /* We have several classes in one bucket, which need to be demuxed + differently. */ +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)) || +diff --git a/proc/main.c b/proc/main.c +index 5d6dc21..73742ed 100644 +--- a/proc/main.c ++++ b/proc/main.c +@@ -34,15 +34,15 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + + const char *argp_program_version = STANDARD_HURD_VERSION (proc); + ++#include "process_S.h" ++#include "notify_S.h" ++#include "../libports/interrupt_S.h" ++#include "proc_exc_S.h" ++ + int + message_demuxer (mach_msg_header_t *inp, + mach_msg_header_t *outp) + { +- mig_routine_t process_server_routine (mach_msg_header_t *); +- mig_routine_t notify_server_routine (mach_msg_header_t *); +- mig_routine_t ports_interrupt_server_routine (mach_msg_header_t *); +- mig_routine_t proc_exc_server_routine (mach_msg_header_t *); +- + mig_routine_t routine; + if ((routine = process_server_routine (inp)) || + (routine = notify_server_routine (inp)) || +diff --git a/utils/fakeauth.c b/utils/fakeauth.c +index 2c72c89..660295f 100644 +--- a/utils/fakeauth.c ++++ b/utils/fakeauth.c +@@ -299,13 +299,11 @@ S_interrupt_operation (mach_port_t port, mach_port_seqno_t seqno) + return interrupt_operation (real_auth_port, 0); + } + ++#include "../libports/notify_S.h" ++ + static int + auth_demuxer (mach_msg_header_t *inp, mach_msg_header_t *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)) || diff --git a/debian/patches/series b/debian/patches/series index 652c23b9..a7ce7502 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -35,6 +35,7 @@ libdde_pr_cont.patch libdde_rx_queue.patch libdde_rcu.patch libmachdev.patch +fast-demuxers.patch exec_filename_exec.patch exec_filename_fs.patch exec_filename_use.patch |