aboutsummaryrefslogtreecommitdiff
path: root/hurd
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1996-12-18 03:23:47 +0000
committerUlrich Drepper <drepper@redhat.com>1996-12-18 03:23:47 +0000
commit10dc2a90b7f86d9bc1be9d1b9305a781882f7ac5 (patch)
tree3ce13e279554e92072a44b5d786b9959b26c11e2 /hurd
parentcc2af7ea0373947a018e40e74f6f0e712ed555ee (diff)
downloadglibc-10dc2a90b7f86d9bc1be9d1b9305a781882f7ac5.zip
glibc-10dc2a90b7f86d9bc1be9d1b9305a781882f7ac5.tar.gz
glibc-10dc2a90b7f86d9bc1be9d1b9305a781882f7ac5.tar.bz2
update from main archive 961217cvs/libc-961219cvs/libc-961218
Wed Dec 18 03:31:58 1996 Ulrich Drepper <drepper@cygnus.com> * dirent/scandir.c: Undo change from Mon Dec 2 15:32:15 1996. The stream is private and usages outside glibc don't care about reentrancy. * io/fts.c: Likewise. * io/ftw.c: Likewise. * sysdeps/posix/getcwd.c: Likewise. * sysdeps/posix/ttyname.c: Likewise. * sysdeps/posix/ttyname_r.c: Likewise. * sysdeps/posix/glob.c: Likewise. * libio/iovsprintf.c: Add cast to prevent warning. * libio/iovsscanf.c: Likewise. * libio/libioP.h: Define mmap to __mmap and munmap to __munmap to keep namespace clean. * new-malloc/malloc.c: Update to last version from Wolfram Gloger. Add hooks and check functions from old GNU malloc. * new-malloc/malloc.h: Likewise. * nis/ypclnt.c: Remove prototype for xdr_free. * snrpc/rpc/xdr.h: Add prototype for xdr_free. * manual/nss.texi: Correct description of default values and don't meantion NSS as an add-on. * nss/grp-lookup.c: Provide default value as "compat [NOTFOUND=return] files". * nss/pwd-lookup.c: Likewise. * nss/spwd-lookup.c: Likewise. * nss/network-lookup.c: Correct default to "dns [!UNAVAIL=return] files". * nss/nsswitch.c: Change default-default value to "nis [NOTFOUND=return] files" since compat is only available for group, passwd, and shadow. * stdlib/on_exit.c (on_exit): Rename to __on_exit and make old name a weak alias. * stdlib/stdlib.h: Add prototype for __on_exit. * sysdeps/unix/sysv/linux/schedbits.h: Add prototype for __clone. * time/Makefile: Undo change from Sun Dec 8 06:56:49 1996. The new malloc now has mcheck. * time/ap.c: Likewise. * time/tzset.c (__tzset): Rename to __tzset_internal. (tzset): Rename to __tzset. Make tzset a weak alias for __tzset. * time/localtime.c: Use __tzset_internal not __tzset. * time/strftime.c [_LIBC]: Define tzname as __tzname and tzset as __tzset to prevent namespace pollution. * wctype/iswctype.h (icwctype): Rename to __iswctype. Make iswctype a weak alias of __iswctype. * wctype/wctype.h: Add prototype for __iswctype. (iswalnum, iswalpha, iswcntrl, iswdigit, iswlower, iswgraph, iswprint, iswpunct, iswspace, iswupper, iswxdigit, iswblank): Use __iswctype for the test, not iswctype. 1996-12-16 Paul Eggert <eggert@twinsun.com> * hurd/hurd/sigpreempt.h (struct hurd_signal_preemptor.preemptor, _hurdsig_preemptors), hurd/hurd/signal.h (struct hurd_sigstate.preemptors), hurd/hurdfault.c, hurd/hurdfault.h (_hurdsig_fault_preemptor), hurd/hurdsig.c (_hurdsig_preempters): Renamed to fix spelling from `preempter' to `preemptor'. All uses changed. 1996-12-15 Paul Eggert <eggert@twinsun.com> * ctime.c (ctime): Return asctime (localtime (t)), as the C standard requires. Tue Dec 17 02:05:48 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * sysdeps/mach/libc-lock.h (__libc_lock_trylock): Invert return value because Mach/cthreads uses the opposite convention from Posix/glibc. Mon Dec 16 22:41:01 1996 Ulrich Drepper <drepper@cygnus.com> * stdio-common/fcloseall.c: Correct test of already_called. Reported by Thomas Bushnell, n/BSG. Mon Dec 16 14:52:07 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * mach/lock-intern.h (__mutex_try_lock): New function. Sun Dec 15 16:33:44 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * termios/sys/ttydefaults.h (TTYDEF_OFLAG): Only use OXTABS if defined, else XTABS. (CEOL, CSTATUS): Use _POSIX_VDISABLE if defined. Sun Dec 15 11:56:19 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/m68k/mremap.S: New file. * sysdeps/unix/sysv/linux/m68k/Dist: Distribute it. * sysdeps/unix/sysv/linux/m68k/Makefile (sysdep_routines): Add mremap.
Diffstat (limited to 'hurd')
-rw-r--r--hurd/catch-signal.c71
-rw-r--r--hurd/hurd/signal.h34
-rw-r--r--hurd/hurd/sigpreempt.h64
-rw-r--r--hurd/hurdfault.c35
-rw-r--r--hurd/hurdfault.h38
-rw-r--r--hurd/hurdsig.c24
-rw-r--r--hurd/preempt-sig.c50
7 files changed, 157 insertions, 159 deletions
diff --git a/hurd/catch-signal.c b/hurd/catch-signal.c
index c148193..a037853 100644
--- a/hurd/catch-signal.c
+++ b/hurd/catch-signal.c
@@ -1,21 +1,21 @@
/* Convenience function to catch expected signals during an operation.
-Copyright (C) 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+ Copyright (C) 1996 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
-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 <hurd/signal.h>
#include <hurd/sigpreempt.h>
@@ -25,14 +25,14 @@ Cambridge, MA 02139, USA. */
error_t
hurd_catch_signal (sigset_t sigset,
unsigned long int first, unsigned long int last,
- error_t (*operate) (struct hurd_signal_preempter *),
+ error_t (*operate) (struct hurd_signal_preemptor *),
sighandler_t handler)
{
jmp_buf buf;
void throw (int signo, long int sigcode, struct sigcontext *scp)
{ longjmp (buf, scp->sc_error ?: EGRATUITOUS); }
- struct hurd_signal_preempter preempter =
+ struct hurd_signal_preemptor preemptor =
{
sigset, first, last,
NULL, handler == SIG_ERR ? (sighandler_t) &throw : handler,
@@ -50,23 +50,23 @@ hurd_catch_signal (sigset_t sigset,
if (error == 0)
{
- /* Install a signal preempter for the thread. */
+ /* Install a signal preemptor for the thread. */
__spin_lock (&ss->lock);
- preempter.next = ss->preempters;
- ss->preempters = &preempter;
+ preemptor.next = ss->preemptors;
+ ss->preemptors = &preemptor;
__spin_unlock (&ss->lock);
/* Try the operation that might crash. */
- (*operate) (&preempter);
+ (*operate) (&preemptor);
}
/* Either FUNCTION completed happily and ERROR is still zero, or it hit
an expected signal and `throw' made setjmp return the signal error
- code in ERROR. Now we can remove the preempter and return. */
+ code in ERROR. Now we can remove the preemptor and return. */
__spin_lock (&ss->lock);
- assert (ss->preempters == &preempter);
- ss->preempters = preempter.next;
+ assert (ss->preemptors == &preemptor);
+ ss->preemptors = preemptor.next;
__spin_unlock (&ss->lock);
return error;
@@ -76,7 +76,7 @@ hurd_catch_signal (sigset_t sigset,
error_t
hurd_safe_memset (void *dest, int byte, size_t nbytes)
{
- error_t operate (struct hurd_signal_preempter *preempter)
+ error_t operate (struct hurd_signal_preemptor *preemptor)
{
memset (dest, byte, nbytes);
return 0;
@@ -90,7 +90,7 @@ hurd_safe_memset (void *dest, int byte, size_t nbytes)
error_t
hurd_safe_copyout (void *dest, const void *src, size_t nbytes)
{
- error_t operate (struct hurd_signal_preempter *preempter)
+ error_t operate (struct hurd_signal_preemptor *preemptor)
{
memcpy (dest, src, nbytes);
return 0;
@@ -103,7 +103,7 @@ hurd_safe_copyout (void *dest, const void *src, size_t nbytes)
error_t
hurd_safe_copyin (void *dest, const void *src, size_t nbytes)
{
- error_t operate (struct hurd_signal_preempter *preempter)
+ error_t operate (struct hurd_signal_preemptor *preemptor)
{
memcpy (dest, src, nbytes);
return 0;
@@ -120,18 +120,18 @@ hurd_safe_memmove (void *dest, const void *src, size_t nbytes)
void throw (int signo, long int sigcode, struct sigcontext *scp)
{ longjmp (buf, scp->sc_error ?: EGRATUITOUS); }
- struct hurd_signal_preempter src_preempter =
+ struct hurd_signal_preemptor src_preemptor =
{
sigmask (SIGBUS) | sigmask (SIGSEGV),
(vm_address_t) src, (vm_address_t) src + nbytes,
NULL, (sighandler_t) &throw,
};
- struct hurd_signal_preempter dest_preempter =
+ struct hurd_signal_preemptor dest_preemptor =
{
sigmask (SIGBUS) | sigmask (SIGSEGV),
(vm_address_t) dest, (vm_address_t) dest + nbytes,
NULL, (sighandler_t) &throw,
- &src_preempter
+ &src_preemptor
};
struct hurd_sigstate *const ss = _hurd_self_sigstate ();
@@ -142,10 +142,10 @@ hurd_safe_memmove (void *dest, const void *src, size_t nbytes)
if (error == 0)
{
- /* Install a signal preempter for the thread. */
+ /* Install a signal preemptor for the thread. */
__spin_lock (&ss->lock);
- src_preempter.next = ss->preempters;
- ss->preempters = &dest_preempter;
+ src_preemptor.next = ss->preemptors;
+ ss->preemptors = &dest_preemptor;
__spin_unlock (&ss->lock);
/* Do the copy; it might fault. */
@@ -154,13 +154,12 @@ hurd_safe_memmove (void *dest, const void *src, size_t nbytes)
/* Either memmove completed happily and ERROR is still zero, or it hit
an expected signal and `throw' made setjmp return the signal error
- code in ERROR. Now we can remove the preempter and return. */
+ code in ERROR. Now we can remove the preemptor and return. */
__spin_lock (&ss->lock);
- assert (ss->preempters == &dest_preempter);
- ss->preempters = src_preempter.next;
+ assert (ss->preemptors == &dest_preemptor);
+ ss->preemptors = src_preemptor.next;
__spin_unlock (&ss->lock);
return error;
}
-
diff --git a/hurd/hurd/signal.h b/hurd/hurd/signal.h
index 7dee18c..468599c 100644
--- a/hurd/hurd/signal.h
+++ b/hurd/hurd/signal.h
@@ -1,21 +1,21 @@
/* Implementing POSIX.1 signals under the Hurd.
-Copyright (C) 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+ Copyright (C) 1993, 1994, 1995, 1996 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
-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. */
#ifndef _HURD_SIGNAL_H
@@ -40,7 +40,7 @@ Cambridge, MA 02139, USA. */
#include <cthreads.h> /* For `struct mutex'. */
#include <spin-lock.h>
#include <hurd/threadvar.h> /* We cache sigstate in a threadvar. */
-struct hurd_signal_preempter; /* <hurd/sigpreempt.h> */
+struct hurd_signal_preemptor; /* <hurd/sigpreempt.h> */
/* Full details of a signal. */
@@ -71,11 +71,11 @@ struct hurd_sigstate
struct sigaction actions[NSIG];
struct sigaltstack sigaltstack;
- /* Chain of thread-local signal preempters; see <hurd/sigpreempt.h>.
+ /* Chain of thread-local signal preemptors; see <hurd/sigpreempt.h>.
Each element of this chain is in local stack storage, and the chain
parallels the stack: the head of this chain is in the innermost
stack frame, and each next element in an outermore frame. */
- struct hurd_signal_preempter *preempters;
+ struct hurd_signal_preemptor *preemptors;
/* For each signal that may be pending, the details to deliver it with. */
struct hurd_signal_detail pending_data[NSIG];
diff --git a/hurd/hurd/sigpreempt.h b/hurd/hurd/sigpreempt.h
index 1bd6589..44572a6 100644
--- a/hurd/hurd/sigpreempt.h
+++ b/hurd/hurd/sigpreempt.h
@@ -1,21 +1,21 @@
/* Preemption of Hurd signals before POSIX.1 semantics take over.
-Copyright (C) 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+ Copyright (C) 1996 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
-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. */
#ifndef _HURD_SIGPREEMPT_H
@@ -25,7 +25,7 @@ Cambridge, MA 02139, USA. */
struct hurd_sigstate; /* <hurd/signal.h> */
struct hurd_signal_detail; /* <hurd/signal.h> */
-struct hurd_signal_preempter
+struct hurd_signal_preemptor
{
/* These members select which signals this structure will apply to.
The rest of the structure is only consulted if these match. */
@@ -34,35 +34,35 @@ struct hurd_signal_preempter
/* This function will be called (with SS->lock held) to decide what to
do with the signal described. It may modify the codes of the signal
- passed. If the return value is SIG_ERR, the next matching preempter
+ passed. If the return value is SIG_ERR, the next matching preemptor
is tried, or the normal handling is done for the signal (which may
- have been changed by the preempter function). Otherwise, the signal
+ have been changed by the preemptor function). Otherwise, the signal
is processed as if the return value were its handler setting. */
- sighandler_t (*preempter) (struct hurd_signal_preempter *preempter,
+ sighandler_t (*preemptor) (struct hurd_signal_preemptor *preemptor,
struct hurd_sigstate *ss,
int *signo, struct hurd_signal_detail *detail);
- /* If PREEMPTER is null, act as if it returned HANDLER. */
+ /* If PREEMPTOR is null, act as if it returned HANDLER. */
sighandler_t handler;
- struct hurd_signal_preempter *next; /* List structure. */
+ struct hurd_signal_preemptor *next; /* List structure. */
};
-#define HURD_PREEMPT_SIGNAL_P(preempter, signo, sigcode) \
- (((preempter)->signals & sigmask (signo)) && \
- (sigcode) >= (preempter)->first && (sigcode) <= (preempter)->last)
+#define HURD_PREEMPT_SIGNAL_P(preemptor, signo, sigcode) \
+ (((preemptor)->signals & sigmask (signo)) && \
+ (sigcode) >= (preemptor)->first && (sigcode) <= (preemptor)->last)
-/* Signal preempters applying to all threads; locked by _hurd_siglock. */
-extern struct hurd_signal_preempter *_hurdsig_preempters;
+/* Signal preemptors applying to all threads; locked by _hurd_siglock. */
+extern struct hurd_signal_preemptor *_hurdsig_preemptors;
extern sigset_t _hurdsig_preempted_set;
-/* The caller must initialize all members of *PREEMPTER except `next'.
- The preempter is registered on the global list. */
-void hurd_preempt_signals (struct hurd_signal_preempter *preempter);
+/* The caller must initialize all members of *PREEMPTOR except `next'.
+ The preemptor is registered on the global list. */
+void hurd_preempt_signals (struct hurd_signal_preemptor *preemptor);
-/* Remove a preempter registered with hurd_preempt_signals. */
-void hurd_unpreempt_signals (struct hurd_signal_preempter *preempter);
+/* Remove a preemptor registered with hurd_preempt_signals. */
+void hurd_unpreempt_signals (struct hurd_signal_preemptor *preemptor);
/* Call *OPERATE and return its value. If a signal in SIGSET with a sigcode
@@ -72,13 +72,13 @@ void hurd_unpreempt_signals (struct hurd_signal_preempter *preempter);
hurd_catch_signal returns the sc_error value from the signal (or
EGRATUITOUS if that is zero).
- The preempter structure is passed to *OPERATE, which may modify its
+ The preemptor structure is passed to *OPERATE, which may modify its
sigcode range or functions at any time during which it is guaranteed no
signal in SIGSET will arrive. */
error_t hurd_catch_signal (sigset_t sigset,
unsigned long int first, unsigned long int last,
- error_t (*operate) (struct hurd_signal_preempter *),
+ error_t (*operate) (struct hurd_signal_preemptor *),
sighandler_t handler);
diff --git a/hurd/hurdfault.c b/hurd/hurdfault.c
index e1b06a3..2865ff7 100644
--- a/hurd/hurdfault.c
+++ b/hurd/hurdfault.c
@@ -1,21 +1,21 @@
/* Handle faults in the signal thread.
-Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+ Copyright (C) 1994, 1995, 1996 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
-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 <hurd.h>
#include <hurd/signal.h>
@@ -29,7 +29,7 @@ Cambridge, MA 02139, USA. */
#include <assert.h>
jmp_buf _hurdsig_fault_env;
-struct hurd_signal_preempter _hurdsig_fault_preempter;
+struct hurd_signal_preemptor _hurdsig_fault_preemptor;
static mach_port_t forward_sigexc;
@@ -56,7 +56,7 @@ _hurdsig_fault_catch_exception_raise (mach_port_t port,
codes into a signal number and subcode. */
_hurd_exception2signal (&d, &signo);
- return HURD_PREEMPT_SIGNAL_P (&_hurdsig_fault_preempter, signo, d.code)
+ return HURD_PREEMPT_SIGNAL_P (&_hurdsig_fault_preemptor, signo, d.code)
? 0 : EGREGIOUS;
}
@@ -97,7 +97,7 @@ faulted (void)
if (reply.result)
__libc_fatal ("BUG: unexpected fault in signal thread\n");
- _hurdsig_fault_preempter.signals = 0;
+ _hurdsig_fault_preemptor.signals = 0;
longjmp (_hurdsig_fault_env, 1);
}
@@ -158,4 +158,3 @@ _hurdsig_fault_init (void)
__mach_port_deallocate (__mach_task_self (), sigexc);
assert_perror (err);
}
-
diff --git a/hurd/hurdfault.h b/hurd/hurdfault.h
index 4b6aaed..aa03568 100644
--- a/hurd/hurdfault.h
+++ b/hurd/hurdfault.h
@@ -1,21 +1,21 @@
/* Declarations for handling faults in the signal thread.
-Copyright (C) 1994, 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+ Copyright (C) 1994, 1996 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
-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. */
#ifndef _HURD_FAULT_H
#define _HURD_FAULT_H
@@ -29,18 +29,18 @@ Cambridge, MA 02139, USA. */
does arrive. */
#define _hurdsig_catch_fault(sigset, firstcode, lastcode) \
- (_hurdsig_fault_preempter.signals = (sigset), \
- _hurdsig_fault_preempter.first = (long int) (firstcode), \
- _hurdsig_fault_preempter.last = (long int) (lastcode), \
+ (_hurdsig_fault_preemptor.signals = (sigset), \
+ _hurdsig_fault_preemptor.first = (long int) (firstcode), \
+ _hurdsig_fault_preemptor.last = (long int) (lastcode), \
setjmp (_hurdsig_fault_env))
/* Call this at the end of a section protected by _hurdsig_catch_fault. */
#define _hurdsig_end_catch_fault() \
- (_hurdsig_fault_preempter.signals = 0)
+ (_hurdsig_fault_preemptor.signals = 0)
extern jmp_buf _hurdsig_fault_env;
-extern struct hurd_signal_preempter _hurdsig_fault_preempter;
+extern struct hurd_signal_preemptor _hurdsig_fault_preemptor;
#define _hurdsig_catch_memory_fault(object) \
diff --git a/hurd/hurdsig.c b/hurd/hurdsig.c
index 30e2919..b30134c 100644
--- a/hurd/hurdsig.c
+++ b/hurd/hurdsig.c
@@ -78,7 +78,7 @@ _hurd_thread_sigstate (thread_t thread)
__sigemptyset (&ss->blocked);
__sigemptyset (&ss->pending);
memset (&ss->sigaltstack, 0, sizeof (ss->sigaltstack));
- ss->preempters = NULL;
+ ss->preemptors = NULL;
ss->suspended = 0;
ss->intr_port = MACH_PORT_NULL;
ss->context = NULL;
@@ -421,7 +421,7 @@ abort_all_rpcs (int signo, struct machine_thread_all_state *state, int live)
}
}
-struct hurd_signal_preempter *_hurdsig_preempters;
+struct hurd_signal_preemptor *_hurdsig_preemptors;
sigset_t _hurdsig_preempted_set;
/* Mask of stop signals. */
@@ -439,7 +439,7 @@ _hurd_internal_post_signal (struct hurd_sigstate *ss,
error_t err;
struct machine_thread_all_state thread_state;
enum { stop, ignore, core, term, handle } act;
- struct hurd_signal_preempter *pe;
+ struct hurd_signal_preemptor *pe;
sighandler_t handler;
sigset_t pending;
int ss_suspended;
@@ -542,16 +542,16 @@ _hurd_internal_post_signal (struct hurd_sigstate *ss,
critical sections. */
handler = SIG_ERR;
- for (pe = ss->preempters; pe && handler == SIG_ERR; pe = pe->next)
+ for (pe = ss->preemptors; pe && handler == SIG_ERR; pe = pe->next)
if (HURD_PREEMPT_SIGNAL_P (pe, signo, detail->code))
- handler = (*pe->preempter) (pe, ss, &signo, detail);
+ handler = (*pe->preemptor) (pe, ss, &signo, detail);
if (handler == SIG_ERR && (__sigmask (signo) & _hurdsig_preempted_set))
{
__mutex_lock (&_hurd_siglock);
- for (pe = _hurdsig_preempters; pe && handler == SIG_ERR; pe = pe->next)
+ for (pe = _hurdsig_preemptors; pe && handler == SIG_ERR; pe = pe->next)
if (HURD_PREEMPT_SIGNAL_P (pe, signo, detail->code))
- handler = (*pe->preempter) (pe, ss, &signo, detail);
+ handler = (*pe->preemptor) (pe, ss, &signo, detail);
__mutex_unlock (&_hurd_siglock);
}
@@ -1250,22 +1250,22 @@ _hurdsig_getenv (const char *variable)
while (*ep)
{
const char *p = *ep;
- _hurdsig_fault_preempter.first = (long int) p;
- _hurdsig_fault_preempter.last = VM_MAX_ADDRESS;
+ _hurdsig_fault_preemptor.first = (long int) p;
+ _hurdsig_fault_preemptor.last = VM_MAX_ADDRESS;
if (! strncmp (p, variable, len) && p[len] == '=')
{
char *value;
size_t valuelen;
p += len + 1;
valuelen = strlen (p);
- _hurdsig_fault_preempter.last = (long int) (p + valuelen);
+ _hurdsig_fault_preemptor.last = (long int) (p + valuelen);
value = malloc (++valuelen);
if (value)
memcpy (value, p, valuelen);
break;
}
- _hurdsig_fault_preempter.first = (long int) ++ep;
- _hurdsig_fault_preempter.last = (long int) (ep + 1);
+ _hurdsig_fault_preemptor.first = (long int) ++ep;
+ _hurdsig_fault_preemptor.last = (long int) (ep + 1);
}
_hurdsig_end_catch_fault ();
return value;
diff --git a/hurd/preempt-sig.c b/hurd/preempt-sig.c
index 6596089..e703a90 100644
--- a/hurd/preempt-sig.c
+++ b/hurd/preempt-sig.c
@@ -1,55 +1,55 @@
/* Copyright (C) 1994, 1995, 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 <hurd/sigpreempt.h>
#include <hurd/signal.h>
#include <assert.h>
void
-hurd_preempt_signals (struct hurd_signal_preempter *preempter)
+hurd_preempt_signals (struct hurd_signal_preemptor *preemptor)
{
__mutex_lock (&_hurd_siglock);
- preempter->next = _hurdsig_preempters;
- _hurdsig_preempters = preempter;
- _hurdsig_preempted_set |= preempter->signals;
+ preemptor->next = _hurdsig_preemptors;
+ _hurdsig_preemptors = preemptor;
+ _hurdsig_preempted_set |= preemptor->signals;
__mutex_unlock (&_hurd_siglock);
}
void
-hurd_unpreempt_signals (struct hurd_signal_preempter *preempter)
+hurd_unpreempt_signals (struct hurd_signal_preemptor *preemptor)
{
- struct hurd_signal_preempter **p;
+ struct hurd_signal_preemptor **p;
sigset_t preempted = 0;
__mutex_lock (&_hurd_siglock);
- p = &_hurdsig_preempters;
+ p = &_hurdsig_preemptors;
while (*p)
- if (*p == preempter)
+ if (*p == preemptor)
{
/* Found it; take it off the chain. */
*p = (*p)->next;
- if ((preempter->signals & preempted) != preempter->signals)
+ if ((preemptor->signals & preempted) != preemptor->signals)
{
- /* This might have been the only preempter for some
+ /* This might have been the only preemptor for some
of those signals, so we must collect the full mask
from the others. */
- struct hurd_signal_preempter *pp;
+ struct hurd_signal_preemptor *pp;
for (pp = *p; pp; pp = pp->next)
preempted |= pp->signals;
_hurdsig_preempted_set = preempted;
@@ -64,5 +64,5 @@ hurd_unpreempt_signals (struct hurd_signal_preempter *preempter)
}
__mutex_unlock (&_hurd_siglock); /* Avoid deadlock during death rattle. */
- assert (! "removing absent preempter");
+ assert (! "removing absent preemptor");
}