aboutsummaryrefslogtreecommitdiff
path: root/hurd/hurdsig.c
diff options
context:
space:
mode:
authorJeremie Koenig <jk@jk.fr.eu.org>2020-12-21 01:41:55 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2020-12-21 01:44:20 +0100
commitd865ff74ba096d016c9b1542a4e3d305169c9e55 (patch)
treea1ad2cf50e23fcf87a08b3955fffd7d7f80b404d /hurd/hurdsig.c
parent407765e9f24f5a82f318a9e069a977710ac99ee0 (diff)
downloadglibc-d865ff74ba096d016c9b1542a4e3d305169c9e55.zip
glibc-d865ff74ba096d016c9b1542a4e3d305169c9e55.tar.gz
glibc-d865ff74ba096d016c9b1542a4e3d305169c9e55.tar.bz2
hurd: implement SA_SIGINFO signal handlers.
SA_SIGINFO is actually just another way of expressing what we were already passing over with struct sigcontext. This just introduces the SIGINFO interface and fixes the posix values when that interface is requested by the application.
Diffstat (limited to 'hurd/hurdsig.c')
-rw-r--r--hurd/hurdsig.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/hurd/hurdsig.c b/hurd/hurdsig.c
index 2b778d6..852ae7e 100644
--- a/hurd/hurdsig.c
+++ b/hurd/hurdsig.c
@@ -735,7 +735,7 @@ post_signal (struct hurd_sigstate *ss,
{ /* PE cannot be null. */
do
{
- if (HURD_PREEMPT_SIGNAL_P (pe, signo, detail->code))
+ if (HURD_PREEMPT_SIGNAL_P (pe, signo, detail->exc_subcode))
{
if (pe->preemptor)
{
@@ -1379,7 +1379,7 @@ _S_msg_sig_post (mach_port_t me,
if (err = signal_allowed (signo, refport))
return err;
- d.code = sigcode;
+ d.code = d.exc_subcode = sigcode;
d.exc = 0;
/* Post the signal to a global receiver thread (or mark it pending in
@@ -1408,7 +1408,7 @@ _S_msg_sig_post_untraced (mach_port_t me,
if (err = signal_allowed (signo, refport))
return err;
- d.code = sigcode;
+ d.code = d.exc_subcode = sigcode;
d.exc = 0;
/* Post the signal to the designated signal-receiving thread. This will