diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2010-08-02 00:31:54 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2010-08-02 00:31:54 +0200 |
commit | b506a9ca2de7dc1234ef1a93d620d965c33919e0 (patch) | |
tree | a30a008ec2dd7e49f3f20a0f43ac9ccc25c1f0e4 /debian/patches/init_fix.patch | |
parent | 6c97398a5eb9832d20115f60d403af5a86bfdfcc (diff) |
init_fix.patch: New upstream patch to fix halt/reboot.
Diffstat (limited to 'debian/patches/init_fix.patch')
-rw-r--r-- | debian/patches/init_fix.patch | 50 |
1 files changed, 50 insertions, 0 deletions
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; |