diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-11-03 17:21:07 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-11-03 17:21:07 +0000 |
commit | f540c0a4adc26817274b34b1cca16a4969196cc1 (patch) | |
tree | 0496e0ea2ab56ddd875e10233d3de0a75fafef74 /sysdeps | |
parent | 5fea58fbe857e89ceb4f0c0afb48278806f2e32f (diff) | |
download | glibc-f540c0a4adc26817274b34b1cca16a4969196cc1.tar.gz glibc-f540c0a4adc26817274b34b1cca16a4969196cc1.tar.xz glibc-f540c0a4adc26817274b34b1cca16a4969196cc1.zip |
Update.
1998-11-02 16:12 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu> * sysdeps/generic/bits/signum.h: Define signals with their historical numbers when those are in the 1-15 range and consistent across platforms. Define compatibility aliases (SIGIOT, SIGCLD) if __USE_MISC. Define SIG_DFL, SIG_IGN, SIG_ERR as numeric constants cast appropriately instead of with fake function declarations (would cause link errors). If __USE_UNIX98, define SIG_HOLD. 1998-10-29 H.J. Lu <hjl@gnu.org> * sysdeps/unix/sysv/linux/bits/sigaction.h (sigaction): Use union only if __USE_POSIX199309 is defined. * misc/sys/select.h (pselect): Declared only if __USE_GNU is defined. * sysdeps/unix/sysv/linux/netatalk/at.h: Include <linux/atalk.h> before <sys/socket.h> to make sockaddr_at available to <sys/socket.h>.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/generic/bits/signum.h | 63 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/bits/sigaction.h | 8 |
2 files changed, 43 insertions, 28 deletions
diff --git a/sysdeps/generic/bits/signum.h b/sysdeps/generic/bits/signum.h index 6b4693f64c..e750125bda 100644 --- a/sysdeps/generic/bits/signum.h +++ b/sysdeps/generic/bits/signum.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1993, 1996 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1993, 1996, 1998 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 @@ -19,35 +19,46 @@ #ifdef _SIGNAL_H /* Fake signal functions. */ -extern void _sig_ign __P ((int sig)); -extern void _sig_dfl __P ((int sig)); -#define SIG_ERR ((__sighandler_t) 0) /* Error return. */ -#define SIG_DFL _sig_dfl /* Default action. */ -#define SIG_IGN _sig_ign /* Ignore signal. */ +#define SIG_ERR ((__sighandler_t) -1) /* Error return. */ +#define SIG_DFL ((__sighandler_t) 0) /* Default action. */ +#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */ +#ifdef __USE_UNIX98 +# define SIG_HOLD ((__sighandler_t) 2) /* Add signal to hold mask. */ +#endif + +/* Signals in the 1-15 range are defined with their historical numbers. + Signals in the 20-25 range are relatively new and have no ingrained + numbers. */ /* ANSI signals. */ -#define SIGABRT 1 /* Abnormal termination. */ -#define SIGFPE 2 /* Erroneous arithmetic operation. */ -#define SIGILL 3 /* Illegal instruction. */ -#define SIGINT 3 /* Interactive attention signal. */ -#define SIGSEGV 4 /* Invalid access to storage. */ -#define SIGTERM 5 /* Termination request. */ - -/* POSIX signals. */ -#define SIGHUP 6 /* Hangup. */ -#define SIGQUIT 7 /* Quit. */ -#define SIGPIPE 8 /* Broken pipe. */ +#define SIGINT 2 /* Interactive attention signal. */ +#define SIGILL 4 /* Illegal instruction. */ +#define SIGABRT 6 /* Abnormal termination. */ +#define SIGFPE 8 /* Erroneous arithmetic operation. */ +#define SIGSEGV 11 /* Invalid access to storage. */ +#define SIGTERM 15 /* Termination request. */ + +/* Historical signals specified by POSIX. */ +#define SIGHUP 1 /* Hangup. */ +#define SIGQUIT 3 /* Quit. */ #define SIGKILL 9 /* Kill (cannot be blocked, caught, or ignored). */ -#define SIGALRM 10 /* Alarm clock. */ -#define SIGSTOP 11 /* Stop (cannot be blocked, caught, or ignored). */ -#define SIGTSTP 12 /* Keyboard stop. */ -#define SIGCONT 13 /* Continue. */ -#define SIGCHLD 14 /* Child terminated or stopped. */ -#define SIGTTIN 15 /* Background read from control terminal. */ -#define SIGTTOU 16 /* Background write to control terminal. */ +#define SIGPIPE 13 /* Broken pipe. */ +#define SIGALRM 14 /* Alarm clock. */ -#endif /* <signal.h> included. */ +/* New(er) POSIX signals. */ +#define SIGSTOP 20 /* Stop (cannot be blocked, caught, or ignored). */ +#define SIGCONT 21 /* Continue. */ +#define SIGTSTP 22 /* Keyboard stop. */ +#define SIGTTIN 23 /* Background read from control terminal. */ +#define SIGTTOU 24 /* Background write to control terminal. */ +#define SIGCHLD 25 /* Child terminated or stopped. */ -#define _NSIG 17 +#define _NSIG 26 + +/* Archaic names for compatibility. */ +#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP11 */ +#define SIGCLD SIGCHLD /* Old System V name */ + +#endif /* <signal.h> included. */ diff --git a/sysdeps/unix/sysv/linux/bits/sigaction.h b/sysdeps/unix/sysv/linux/bits/sigaction.h index 523084bcf3..b357c45342 100644 --- a/sysdeps/unix/sysv/linux/bits/sigaction.h +++ b/sysdeps/unix/sysv/linux/bits/sigaction.h @@ -25,6 +25,7 @@ struct sigaction { /* Signal handler. */ +#ifdef __USE_POSIX199309 union { /* Used if SA_SIGINFO is not set. */ @@ -33,8 +34,11 @@ struct sigaction void (*sa_sigaction) __PMT ((int, siginfo_t *, void *)); } __sigaction_handler; -#define sa_handler __sigaction_handler.sa_handler -#define sa_sigaction __sigaction_handler.sa_sigaction +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else + __sighandler_t sa_handler; +#endif /* Additional set of signals to be blocked. */ __sigset_t sa_mask; |