summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2010-08-02 00:31:54 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2010-08-02 00:31:54 +0200
commitb506a9ca2de7dc1234ef1a93d620d965c33919e0 (patch)
treea30a008ec2dd7e49f3f20a0f43ac9ccc25c1f0e4
parent6c97398a5eb9832d20115f60d403af5a86bfdfcc (diff)
init_fix.patch: New upstream patch to fix halt/reboot.
-rw-r--r--debian/changelog1
-rw-r--r--debian/patches/init_fix.patch50
2 files changed, 51 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 3d60d260..2011b09f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -51,6 +51,7 @@ hurd (20100701-1) unstable; urgency=low
* debian/rules: Remove debian/ChangeLog on clean.
* debian/local/runsystem: Pass -g option to the console to maximize glyph
usage for chinese.
+ * debian/patches/init_fix.patch: New upstream patch to fix halt/reboot.
[ Guillem Jover ]
* Update make-new-tarball.sh to exclude git instead of CVS paths.
diff --git a/debian/patches/init_fix.patch b/debian/patches/init_fix.patch
new file mode 100644
index 00000000..8a7f27da
--- /dev/null
+++ b/debian/patches/init_fix.patch
@@ -0,0 +1,50 @@
+commit a6bb3e62109c72ec912d264418c5e9b95c780dbf
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Mon Aug 2 00:29:57 2010 +0200
+
+ Partially revert 8451b436 to fix halt/reboot
+
+ init/init.c (S_msg_sig_post_untraced): Ignore result of
+ msg_sig_post_untraced_reply.
+ (S_msg_sig_post): Likewise.
+
+diff --git a/init/init.c b/init/init.c
+index 4645729..d66bee0 100644
+--- a/init/init.c
++++ b/init/init.c
+@@ -1353,16 +1353,12 @@ S_msg_sig_post_untraced (mach_port_t msgport,
+ mach_port_t reply, mach_msg_type_name_t reply_type,
+ int signo, natural_t sigcode, mach_port_t refport)
+ {
+- kern_return_t err;
+-
+ if (refport != mach_task_self ())
+ return EPERM;
+ mach_port_deallocate (mach_task_self (), refport);
+
+ /* Reply immediately */
+- err = msg_sig_post_untraced_reply (reply, reply_type, 0);
+- if (err)
+- return err;
++ msg_sig_post_untraced_reply (reply, reply_type, 0);
+
+ process_signal (signo);
+ return MIG_NO_REPLY;
+@@ -1373,16 +1369,12 @@ S_msg_sig_post (mach_port_t msgport,
+ mach_port_t reply, mach_msg_type_name_t reply_type,
+ int signo, natural_t sigcode, mach_port_t refport)
+ {
+- kern_return_t err;
+-
+ if (refport != mach_task_self ())
+ return EPERM;
+ mach_port_deallocate (mach_task_self (), refport);
+
+ /* Reply immediately */
+- err = msg_sig_post_reply (reply, reply_type, 0);
+- if (err)
+- return err;
++ msg_sig_post_reply (reply, reply_type, 0);
+
+ process_signal (signo);
+ return MIG_NO_REPLY;