From 10dc2a90b7f86d9bc1be9d1b9305a781882f7ac5 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 18 Dec 1996 03:23:47 +0000 Subject: update from main archive 961217 Wed Dec 18 03:31:58 1996 Ulrich Drepper * 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 * 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 * ctime.c (ctime): Return asctime (localtime (t)), as the C standard requires. Tue Dec 17 02:05:48 1996 Thomas Bushnell, n/BSG * 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 * 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 * mach/lock-intern.h (__mutex_try_lock): New function. Sun Dec 15 16:33:44 1996 Andreas Schwab * 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 * 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. --- hurd/catch-signal.c | 71 +++++++++++++++++++++++++------------------------- hurd/hurd/signal.h | 34 ++++++++++++------------ hurd/hurd/sigpreempt.h | 64 ++++++++++++++++++++++----------------------- hurd/hurdfault.c | 35 ++++++++++++------------- hurd/hurdfault.h | 38 +++++++++++++-------------- hurd/hurdsig.c | 24 ++++++++--------- hurd/preempt-sig.c | 50 +++++++++++++++++------------------ 7 files changed, 157 insertions(+), 159 deletions(-) (limited to 'hurd') diff --git a/hurd/catch-signal.c b/hurd/catch-signal.c index c148193f71..a03785328a 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 #include @@ -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 7dee18c1ed..468599c581 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 /* For `struct mutex'. */ #include #include /* We cache sigstate in a threadvar. */ -struct hurd_signal_preempter; /* */ +struct hurd_signal_preemptor; /* */ /* 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 . + /* Chain of thread-local signal preemptors; see . 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 1bd6589e32..44572a6d27 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; /* */ struct hurd_signal_detail; /* */ -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 e1b06a3f9f..2865ff7d34 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 #include @@ -29,7 +29,7 @@ Cambridge, MA 02139, USA. */ #include 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 4b6aaed6ae..aa03568d29 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 30e2919d82..b30134ca5b 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 6596089f1b..e703a9050a 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 #include #include 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"); } -- cgit v1.2.3