aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/mach/hurd/sigwait.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/mach/hurd/sigwait.c')
-rw-r--r--sysdeps/mach/hurd/sigwait.c74
1 files changed, 37 insertions, 37 deletions
diff --git a/sysdeps/mach/hurd/sigwait.c b/sysdeps/mach/hurd/sigwait.c
index b3916f83ae..b8e5ade84f 100644
--- a/sysdeps/mach/hurd/sigwait.c
+++ b/sysdeps/mach/hurd/sigwait.c
@@ -1,20 +1,20 @@
/* Copyright (C) 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+ This file is part of the GNU C Library.
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Library General Public License for more details.
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB. If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA. */
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
#include <errno.h>
#include <hurd.h>
@@ -30,13 +30,13 @@ __sigwait (const sigset_t *set, int *sig)
struct hurd_sigstate *ss;
sigset_t mask;
int signo = 0;
- struct hurd_signal_preempter preempter;
+ struct hurd_signal_preemptor preemptor;
jmp_buf buf;
mach_port_t wait;
mach_msg_header_t msg;
-
+
sighandler_t
- preempt_fun (struct hurd_signal_preempter *pe,
+ preempt_fun (struct hurd_signal_preemptor *pe,
struct hurd_sigstate *ss,
int *sigp,
struct hurd_signal_detail *detail)
@@ -44,7 +44,7 @@ __sigwait (const sigset_t *set, int *sig)
if (signo)
/* We've already been run; don't interfere. */
return SIG_ERR;
-
+
signo = *sigp;
/* Make sure this is all kosher */
@@ -55,7 +55,7 @@ __sigwait (const sigset_t *set, int *sig)
return pe->handler;
}
-
+
void
handler (int sig)
{
@@ -68,10 +68,10 @@ __sigwait (const sigset_t *set, int *sig)
if (set != NULL)
/* Crash before locking */
mask = *set;
-
+
ss = _hurd_self_sigstate ();
__spin_lock (&ss->lock);
-
+
/* See if one of these signals is currently pending */
if (ss->pending & mask)
{
@@ -86,22 +86,22 @@ __sigwait (const sigset_t *set, int *sig)
}
/* Wait for one of them to show up */
-
+
if (!setjmp (buf))
{
- /* Make the preempter */
- preempter.signals = mask;
- preempter.first = 0;
- preempter.last = -1;
- preempter.preempter = preempt_fun;
- preempter.handler = handler;
-
- /* Install this preempter */
- preempter.next = ss->preempters;
- ss->preempters = &preempter;
-
+ /* Make the preemptor */
+ preemptor.signals = mask;
+ preemptor.first = 0;
+ preemptor.last = -1;
+ preemptor.preemptor = preempt_fun;
+ preemptor.handler = handler;
+
+ /* Install this preemptor */
+ preemptor.next = ss->preemptors;
+ ss->preemptors = &preemptor;
+
__spin_unlock (&ss->lock);
-
+
/* Wait. */
__mach_msg (&msg, MACH_RCV_MSG, 0, sizeof (msg), wait,
MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
@@ -113,11 +113,11 @@ __sigwait (const sigset_t *set, int *sig)
__spin_lock (&ss->lock);
- /* Delete our preempter. */
- assert (ss->preempters == &preempter);
- ss->preempters = preempter.next;
+ /* Delete our preemptor. */
+ assert (ss->preemptors == &preemptor);
+ ss->preemptors = preemptor.next;
}
-
+
all_done:
/* Cause the pointless side-effect. */