summaryrefslogtreecommitdiff
path: root/debian/patches/0015-proc-add-payload-aware-intrans-functions.patch
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2014-11-21 06:05:29 +0100
committerJustus Winter <4winter@informatik.uni-hamburg.de>2014-11-21 06:05:29 +0100
commitba245a4a1d8b89966319b4bb37aa523cfc82850a (patch)
tree536eea233181d6814b0b06f57db500b2d2a0d96e /debian/patches/0015-proc-add-payload-aware-intrans-functions.patch
parent834ec5ff5ea9e0b61b9d47bf4305da0bf6f0b03c (diff)
add patch series
Diffstat (limited to 'debian/patches/0015-proc-add-payload-aware-intrans-functions.patch')
-rw-r--r--debian/patches/0015-proc-add-payload-aware-intrans-functions.patch88
1 files changed, 88 insertions, 0 deletions
diff --git a/debian/patches/0015-proc-add-payload-aware-intrans-functions.patch b/debian/patches/0015-proc-add-payload-aware-intrans-functions.patch
new file mode 100644
index 00000000..cdedfc14
--- /dev/null
+++ b/debian/patches/0015-proc-add-payload-aware-intrans-functions.patch
@@ -0,0 +1,88 @@
+From 087522b6d9dc309ee16efd17c3d547c883d5edca 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 15/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
+