diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-11-23 19:35:00 +0100 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-11-23 19:35:00 +0100 |
commit | 6b42a69ed4b73cabca8ab01d0819f8407df82458 (patch) | |
tree | 2defc74b73f783e0b1f504130a0e36a5e7b735c8 /debian/patches/0016-proc-add-payload-aware-intrans-functions.patch | |
parent | 14c236b2b8e4cd54051539206fe6411953162bfd (diff) |
add patch series
Diffstat (limited to 'debian/patches/0016-proc-add-payload-aware-intrans-functions.patch')
-rw-r--r-- | debian/patches/0016-proc-add-payload-aware-intrans-functions.patch | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/debian/patches/0016-proc-add-payload-aware-intrans-functions.patch b/debian/patches/0016-proc-add-payload-aware-intrans-functions.patch new file mode 100644 index 00000000..ce111755 --- /dev/null +++ b/debian/patches/0016-proc-add-payload-aware-intrans-functions.patch @@ -0,0 +1,88 @@ +From 7af9d817a76ab6a3d4689d2cb03a91525d468485 Mon Sep 17 00:00:00 2001 +From: Justus Winter <4winter@informatik.uni-hamburg.de> +Date: Thu, 28 Nov 2013 10:31:08 +0100 +Subject: [PATCH hurd 16/29] proc: add payload-aware intrans functions + +* proc/mig-decls.h (begin_using_proc_payload): New function. +(begin_using_exc_payload): Likewise. +* proc/mig-mutate.h: Add mutators. +* proc/proc_exc.defs (exception_t): Add payload-aware in-translator +function. +--- + proc/mig-decls.h | 17 +++++++++++++++++ + proc/mig-mutate.h | 4 ++++ + proc/proc_exc.defs | 1 + + 3 files changed, 22 insertions(+) + +diff --git a/proc/mig-decls.h b/proc/mig-decls.h +index 7d36a87..eb33ef3 100644 +--- a/proc/mig-decls.h ++++ b/proc/mig-decls.h +@@ -35,6 +35,17 @@ begin_using_proc_port (mach_port_t port) + return (!p || p->p_dead) ? NULL : p; + } + ++static inline struct proc * __attribute__ ((unused)) ++begin_using_proc_payload (unsigned long payload) ++{ ++ struct proc *p; ++ p = ports_lookup_payload (proc_bucket, payload, proc_class); ++ if (p && p->p_dead) ++ ports_port_deref (p); ++ return (!p || p->p_dead) ? 0 : p; ++} ++ ++ + static inline void __attribute__ ((unused)) + end_using_proc (struct proc *p) + { +@@ -50,6 +61,12 @@ begin_using_exc_port (mach_port_t port) + return ports_lookup_port (NULL, port, exc_class); + } + ++static inline exc_t __attribute__ ((unused)) ++begin_using_exc_payload (unsigned long payload) ++{ ++ return ports_lookup_payload (NULL, payload, exc_class); ++} ++ + static inline void __attribute__ ((unused)) + end_using_exc (exc_t exc) + { +diff --git a/proc/mig-mutate.h b/proc/mig-mutate.h +index ce9f88e..62dc2a5 100644 +--- a/proc/mig-mutate.h ++++ b/proc/mig-mutate.h +@@ -20,6 +20,8 @@ + + #define PROCESS_INTRAN \ + pstruct_t begin_using_proc_port (process_t) ++#define PROCESS_INTRAN_PAYLOAD \ ++ pstruct_t begin_using_proc_payload + #define PROCESS_DESTRUCTOR \ + end_using_proc (pstruct_t) + #define PROCESS_IMPORTS \ +@@ -27,6 +29,8 @@ + + #define NOTIFY_INTRAN \ + port_info_t begin_using_port_info_port (mach_port_t) ++#define NOTIFY_INTRAN_PAYLOAD \ ++ port_info_t begin_using_port_info_payload + #define NOTIFY_DESTRUCTOR \ + end_using_port_info (port_info_t) + #define NOTIFY_IMPORTS \ +diff --git a/proc/proc_exc.defs b/proc/proc_exc.defs +index c910824..9dc3626 100644 +--- a/proc/proc_exc.defs ++++ b/proc/proc_exc.defs +@@ -38,6 +38,7 @@ import "mig-decls.h"; + type exception_t = mach_port_copy_send_t + cusertype: mach_port_t + intran: exc_t begin_using_exc_port (exception_t) ++ intranpayload: exc_t begin_using_exc_payload + destructor: end_using_exc (exc_t); + + routine proc_exception_raise ( +-- +2.1.3 + |