From 813de3b38e97b1ccfbec0748b1851e455b5df37a Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sun, 28 Feb 1999 09:46:20 +0000 Subject: [PATCH] 1999-02-28 Roland McGrath * 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. --- ChangeLog | 6 ++++++ hurd/hurd-raise.c | 12 ++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index f0e172e..14c3454 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +1999-02-28 Roland McGrath + + * 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. + 1999-02-27 Roland McGrath * sysdeps/mach/getsysstats.c (__get_nprocs_conf, __get_nprocs, diff --git a/hurd/hurd-raise.c b/hurd/hurd-raise.c index a31638a..c92c03c 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 ()); } -- 2.7.4