summaryrefslogtreecommitdiff
path: root/debian/patches/proc_exception.patch
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2011-08-11 16:33:31 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2011-08-11 16:33:31 +0200
commit4a1aaec0d8537f663a25b889bdcbf947ddf58d28 (patch)
tree4854a9143762a3dbc30130d78374cd47b8e85ebe /debian/patches/proc_exception.patch
parent85d430f637b926602b97d08b9aa91c0fe0e09311 (diff)
Fix spurious port deallocation
* patches/proc_exception.patch: New patch to fix spurious port deallocation.
Diffstat (limited to 'debian/patches/proc_exception.patch')
-rw-r--r--debian/patches/proc_exception.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/debian/patches/proc_exception.patch b/debian/patches/proc_exception.patch
new file mode 100644
index 00000000..9b6110cc
--- /dev/null
+++ b/debian/patches/proc_exception.patch
@@ -0,0 +1,19 @@
+If proc_exception_raise() actually managed to sent its message, the reply port
+has already been consumed, so we can't send a reply to the requester any more...
+
+TODO: this introduces leaks in some cases ; check in which error cases
+proc_exception_raise() has consumed the reply port anyway.
+
+diff --git a/proc/mgt.c b/proc/mgt.c
+index 5373d10..1180c70 100644
+--- a/proc/mgt.c
++++ b/proc/mgt.c
+@@ -499,7 +499,7 @@ S_proc_exception_raise (mach_port_t excport,
+
+ mach_port_destroy (mach_task_self (), thread);
+
+- return 0;
++ return MIG_NO_REPLY;
+ }
+
+ }