diff options
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; |