diff options
author | Roland McGrath <roland@gnu.org> | 1999-02-28 09:46:20 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1999-02-28 09:46:20 +0000 |
commit | 813de3b38e97b1ccfbec0748b1851e455b5df37a (patch) | |
tree | ce5dff2b854499d4299f59c9c406ad0231056da0 /hurd | |
parent | e8f51d56d4c4b5839fee6af97b068f9fa02efd09 (diff) | |
download | glibc-813de3b38e97b1ccfbec0748b1851e455b5df37a.tar.gz glibc-813de3b38e97b1ccfbec0748b1851e455b5df37a.tar.xz glibc-813de3b38e97b1ccfbec0748b1851e455b5df37a.zip |
1999-02-28 Roland McGrath <roland@baalperazim.frob.com>
* hurd/hurd-raise.c (_hurd_raise_signal): Send "poll request" msg_sig_post RPC (with SIGNO=0), rather than generating signal (again) with the RPC.
Diffstat (limited to 'hurd')
-rw-r--r-- | hurd/hurd-raise.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/hurd/hurd-raise.c b/hurd/hurd-raise.c index a31638a1b2..c92c03c6de 100644 --- a/hurd/hurd-raise.c +++ b/hurd/hurd-raise.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1994,95,96,97,99 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -41,7 +41,11 @@ _hurd_raise_signal (struct hurd_sigstate *ss, __spin_unlock (&ss->lock); - /* Send a message to the signal thread so it - will wake up and check for pending signals. */ - __msg_sig_post (_hurd_msgport, signo, detail->code, __mach_task_self ()); + /* Send a message to the signal thread so it will wake up and check for + pending signals. This is a generic "poll request" message (SIGNO==0) + rather than delivering this signal and its detail, because we have + already marked the signal as pending for the particular thread we + want. Generating the signal with an RPC might deliver it to some + other thread. */ + __msg_sig_post (_hurd_msgport, 0, 0, __mach_task_self ()); } |