mirror of
https://git.savannah.gnu.org/git/gnulib.git
synced 2025-08-17 12:41:05 +03:00
signal, spawn: use link warnings
These modules depended on link-warning, then didn't use it. * lib/signal.in.h (sigset_t): Make unconditional. (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset) (sigpending, sigprocmask, sigaction): Add link warnings. * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init) (posix_spawnattr_destroy, posix_spawnattr_getsigdefault) (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask) (posix_spawnattr_setsigmask, posix_spawnattr_getflags) (posix_spawnattr_setflags, posix_spawnattr_getpgroup) (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy) (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam) (posix_spawnattr_setschedparam, posix_spawn_file_actions_init) (posix_spawn_file_actions_destroy) (posix_spawn_file_actions_addopen) (posix_spawn_file_actions_addclose) (posix_spawwn_file_actions_adddup2): Likewise. * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t. * tests/test-signal.c (main): Enhance test. Signed-off-by: Eric Blake <ebb9@byu.net>
This commit is contained in:
21
ChangeLog
21
ChangeLog
@@ -1,3 +1,24 @@
|
|||||||
|
2009-12-31 Eric Blake <ebb9@byu.net>
|
||||||
|
|
||||||
|
signal, spawn: use link warnings
|
||||||
|
* lib/signal.in.h (sigset_t): Make unconditional.
|
||||||
|
(sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
|
||||||
|
(sigpending, sigprocmask, sigaction): Add link warnings.
|
||||||
|
* lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
|
||||||
|
(posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
|
||||||
|
(posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
|
||||||
|
(posix_spawnattr_setsigmask, posix_spawnattr_getflags)
|
||||||
|
(posix_spawnattr_setflags, posix_spawnattr_getpgroup)
|
||||||
|
(posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
|
||||||
|
(posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
|
||||||
|
(posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
|
||||||
|
(posix_spawn_file_actions_destroy)
|
||||||
|
(posix_spawn_file_actions_addopen)
|
||||||
|
(posix_spawn_file_actions_addclose)
|
||||||
|
(posix_spawwn_file_actions_adddup2): Likewise.
|
||||||
|
* m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
|
||||||
|
* tests/test-signal.c (main): Enhance test.
|
||||||
|
|
||||||
2009-12-31 Eric Blake <ebb9@byu.net>
|
2009-12-31 Eric Blake <ebb9@byu.net>
|
||||||
|
|
||||||
spawn: improve wrapper support
|
spawn: improve wrapper support
|
||||||
|
105
lib/signal.in.h
105
lib/signal.in.h
@@ -52,6 +52,11 @@ typedef int rpl_sig_atomic_t;
|
|||||||
# define sig_atomic_t rpl_sig_atomic_t
|
# define sig_atomic_t rpl_sig_atomic_t
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* A set or mask of signals. */
|
||||||
|
#if !@HAVE_SIGSET_T@
|
||||||
|
typedef unsigned int sigset_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
@@ -68,21 +73,17 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if !@HAVE_POSIX_SIGNALBLOCKING@
|
#if @GNULIB_SIGPROCMASK@
|
||||||
|
# if !@HAVE_POSIX_SIGNALBLOCKING@
|
||||||
|
|
||||||
/* Maximum signal number + 1. */
|
/* Maximum signal number + 1. */
|
||||||
# ifndef NSIG
|
# ifndef NSIG
|
||||||
# define NSIG 32
|
# define NSIG 32
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
/* This code supports only 32 signals. */
|
/* This code supports only 32 signals. */
|
||||||
typedef int verify_NSIG_constraint[2 * (NSIG <= 32) - 1];
|
typedef int verify_NSIG_constraint[2 * (NSIG <= 32) - 1];
|
||||||
|
|
||||||
/* A set or mask of signals. */
|
|
||||||
# if !@HAVE_SIGSET_T@
|
|
||||||
typedef unsigned int sigset_t;
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* Test whether a given signal is contained in a signal set. */
|
/* Test whether a given signal is contained in a signal set. */
|
||||||
extern int sigismember (const sigset_t *set, int sig) _GL_ARG_NONNULL ((1));
|
extern int sigismember (const sigset_t *set, int sig) _GL_ARG_NONNULL ((1));
|
||||||
|
|
||||||
@@ -106,31 +107,69 @@ extern int sigpending (sigset_t *set) _GL_ARG_NONNULL ((1));
|
|||||||
combining it with *SET as indicated in OPERATION.
|
combining it with *SET as indicated in OPERATION.
|
||||||
In this implementation, you are not allowed to change a signal handler
|
In this implementation, you are not allowed to change a signal handler
|
||||||
while the signal is blocked. */
|
while the signal is blocked. */
|
||||||
# define SIG_BLOCK 0 /* blocked_set = blocked_set | *set; */
|
# define SIG_BLOCK 0 /* blocked_set = blocked_set | *set; */
|
||||||
# define SIG_SETMASK 1 /* blocked_set = *set; */
|
# define SIG_SETMASK 1 /* blocked_set = *set; */
|
||||||
# define SIG_UNBLOCK 2 /* blocked_set = blocked_set & ~*set; */
|
# define SIG_UNBLOCK 2 /* blocked_set = blocked_set & ~*set; */
|
||||||
extern int sigprocmask (int operation, const sigset_t *set, sigset_t *old_set);
|
extern int sigprocmask (int operation, const sigset_t *set, sigset_t *old_set);
|
||||||
|
|
||||||
# define signal rpl_signal
|
# define signal rpl_signal
|
||||||
/* Install the handler FUNC for signal SIG, and return the previous
|
/* Install the handler FUNC for signal SIG, and return the previous
|
||||||
handler. */
|
handler. */
|
||||||
extern void (*signal (int sig, void (*func) (int))) (int);
|
extern void (*signal (int sig, void (*func) (int))) (int);
|
||||||
|
|
||||||
# if GNULIB_defined_SIGPIPE
|
# if GNULIB_defined_SIGPIPE
|
||||||
|
|
||||||
/* Raise signal SIG. */
|
/* Raise signal SIG. */
|
||||||
# undef raise
|
# undef raise
|
||||||
# define raise rpl_raise
|
# define raise rpl_raise
|
||||||
extern int raise (int sig);
|
extern int raise (int sig);
|
||||||
|
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
#endif /* !@HAVE_POSIX_SIGNALBLOCKING@ */
|
# endif /* !@HAVE_POSIX_SIGNALBLOCKING@ */
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef sigaddset
|
||||||
|
# define sigaddset(s,n) \
|
||||||
|
(GL_LINK_WARNING ("sigaddset is unportable - " \
|
||||||
|
"use gnulib module sigprocmask for portability"), \
|
||||||
|
sigaddset (s, n))
|
||||||
|
# undef sigdelset
|
||||||
|
# define sigdelset(s,n) \
|
||||||
|
(GL_LINK_WARNING ("sigdelset is unportable - " \
|
||||||
|
"use gnulib module sigprocmask for portability"), \
|
||||||
|
sigdelset (s, n))
|
||||||
|
# undef sigemptyset
|
||||||
|
# define sigemptyset(s) \
|
||||||
|
(GL_LINK_WARNING ("sigemptyset is unportable - " \
|
||||||
|
"use gnulib module sigprocmask for portability"), \
|
||||||
|
sigemptyset (s))
|
||||||
|
# undef sigfillset
|
||||||
|
# define sigfillset(s) \
|
||||||
|
(GL_LINK_WARNING ("sigfillset is unportable - " \
|
||||||
|
"use gnulib module sigprocmask for portability"), \
|
||||||
|
sigfillset (s))
|
||||||
|
# undef sigismember
|
||||||
|
# define sigismember(s,n) \
|
||||||
|
(GL_LINK_WARNING ("sigismember is unportable - " \
|
||||||
|
"use gnulib module sigprocmask for portability"), \
|
||||||
|
sigismember (s, n))
|
||||||
|
# undef sigpending
|
||||||
|
# define sigpending(s) \
|
||||||
|
(GL_LINK_WARNING ("sigpending is unportable - " \
|
||||||
|
"use gnulib module sigprocmask for portability"), \
|
||||||
|
sigpending (s))
|
||||||
|
# undef sigprocmask
|
||||||
|
# define sigprocmask(h,s,o) \
|
||||||
|
(GL_LINK_WARNING ("sigprocmask is unportable - " \
|
||||||
|
"use gnulib module sigprocmask for portability"), \
|
||||||
|
sigprocmask (h, s, o))
|
||||||
|
#endif /* @GNULIB_SIGPROCMASK@ */
|
||||||
|
|
||||||
|
|
||||||
#if !@HAVE_SIGACTION@
|
#if @GNULIB_SIGACTION@
|
||||||
|
# if !@HAVE_SIGACTION@
|
||||||
|
|
||||||
# if !@HAVE_SIGINFO_T@
|
# if !@HAVE_SIGINFO_T@
|
||||||
/* Present to allow compilation, but unsupported by gnulib. */
|
/* Present to allow compilation, but unsupported by gnulib. */
|
||||||
union sigval
|
union sigval
|
||||||
{
|
{
|
||||||
@@ -152,7 +191,7 @@ struct siginfo_t
|
|||||||
union sigval si_value;
|
union sigval si_value;
|
||||||
};
|
};
|
||||||
typedef struct siginfo_t siginfo_t;
|
typedef struct siginfo_t siginfo_t;
|
||||||
# endif /* !@HAVE_SIGINFO_T@ */
|
# endif /* !@HAVE_SIGINFO_T@ */
|
||||||
|
|
||||||
/* We assume that platforms which lack the sigaction() function also lack
|
/* We assume that platforms which lack the sigaction() function also lack
|
||||||
the 'struct sigaction' type, and vice versa. */
|
the 'struct sigaction' type, and vice versa. */
|
||||||
@@ -172,22 +211,28 @@ struct sigaction
|
|||||||
/* Not all POSIX flags are supported. */
|
/* Not all POSIX flags are supported. */
|
||||||
int sa_flags;
|
int sa_flags;
|
||||||
};
|
};
|
||||||
# define sa_handler _sa_func._sa_handler
|
# define sa_handler _sa_func._sa_handler
|
||||||
# define sa_sigaction _sa_func._sa_sigaction
|
# define sa_sigaction _sa_func._sa_sigaction
|
||||||
/* Unsupported flags are not present. */
|
/* Unsupported flags are not present. */
|
||||||
# define SA_RESETHAND 1
|
# define SA_RESETHAND 1
|
||||||
# define SA_NODEFER 2
|
# define SA_NODEFER 2
|
||||||
# define SA_RESTART 4
|
# define SA_RESTART 4
|
||||||
|
|
||||||
extern int sigaction (int, const struct sigaction *restrict,
|
extern int sigaction (int, const struct sigaction *restrict,
|
||||||
struct sigaction *restrict);
|
struct sigaction *restrict);
|
||||||
|
|
||||||
#elif !@HAVE_STRUCT_SIGACTION_SA_SIGACTION@
|
# elif !@HAVE_STRUCT_SIGACTION_SA_SIGACTION@
|
||||||
|
|
||||||
# define sa_sigaction sa_handler
|
# define sa_sigaction sa_handler
|
||||||
|
|
||||||
#endif /* !@HAVE_SIGACTION@, !@HAVE_STRUCT_SIGACTION_SA_SIGACTION@ */
|
|
||||||
|
|
||||||
|
# endif /* !@HAVE_SIGACTION@, !@HAVE_STRUCT_SIGACTION_SA_SIGACTION@ */
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef sigaction
|
||||||
|
# define sigaction(s,a,o) \
|
||||||
|
(GL_LINK_WARNING ("sigaction is unportable - " \
|
||||||
|
"use gnulib module sigaction for portability"), \
|
||||||
|
sigaction (s, a, o))
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Some systems don't have SA_NODEFER. */
|
/* Some systems don't have SA_NODEFER. */
|
||||||
#ifndef SA_NODEFER
|
#ifndef SA_NODEFER
|
||||||
|
120
lib/spawn.in.h
120
lib/spawn.in.h
@@ -156,6 +156,12 @@ extern int posix_spawn (pid_t *_Restrict_ __pid,
|
|||||||
char *const envp[_Restrict_arr_])
|
char *const envp[_Restrict_arr_])
|
||||||
_GL_ARG_NONNULL ((2, 5, 6));
|
_GL_ARG_NONNULL ((2, 5, 6));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawn
|
||||||
|
# define posix_spawn(a,b,c,d,e,f) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawn is unportable - " \
|
||||||
|
"use gnulib module posix_spawn for portability"), \
|
||||||
|
posix_spawn (a, b, c, d, e, f))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if @GNULIB_POSIX_SPAWNP@
|
#if @GNULIB_POSIX_SPAWNP@
|
||||||
@@ -173,6 +179,12 @@ extern int posix_spawnp (pid_t *__pid, const char *__file,
|
|||||||
char *const argv[], char *const envp[])
|
char *const argv[], char *const envp[])
|
||||||
_GL_ARG_NONNULL ((2, 5, 6));
|
_GL_ARG_NONNULL ((2, 5, 6));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawnp
|
||||||
|
# define posix_spawnp(a,b,c,d,e,f) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawnp is unportable - " \
|
||||||
|
"use gnulib module posix_spawnp for portability"), \
|
||||||
|
posix_spawnp (a, b, c, d, e, f))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@@ -185,6 +197,12 @@ extern int posix_spawnp (pid_t *__pid, const char *__file,
|
|||||||
extern int posix_spawnattr_init (posix_spawnattr_t *__attr)
|
extern int posix_spawnattr_init (posix_spawnattr_t *__attr)
|
||||||
__THROW _GL_ARG_NONNULL ((1));
|
__THROW _GL_ARG_NONNULL ((1));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawnattr_init
|
||||||
|
# define posix_spawnattr_init(a) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawnattr_init is unportable - " \
|
||||||
|
"use gnulib module posix_spawnattr_init for portability"), \
|
||||||
|
posix_spawnattr_init (a))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if @GNULIB_POSIX_SPAWNATTR_DESTROY@
|
#if @GNULIB_POSIX_SPAWNATTR_DESTROY@
|
||||||
@@ -196,6 +214,12 @@ extern int posix_spawnattr_init (posix_spawnattr_t *__attr)
|
|||||||
extern int posix_spawnattr_destroy (posix_spawnattr_t *__attr)
|
extern int posix_spawnattr_destroy (posix_spawnattr_t *__attr)
|
||||||
__THROW _GL_ARG_NONNULL ((1));
|
__THROW _GL_ARG_NONNULL ((1));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawnattr_destroy
|
||||||
|
# define posix_spawnattr_destroy(a) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawnattr_destroy is unportable - " \
|
||||||
|
"use gnulib module posix_spawnattr_destroy for portability"), \
|
||||||
|
posix_spawnattr_destroy (a))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if @GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT@
|
#if @GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT@
|
||||||
@@ -209,6 +233,12 @@ extern int posix_spawnattr_getsigdefault (const posix_spawnattr_t *_Restrict_ __
|
|||||||
sigset_t *_Restrict_ __sigdefault)
|
sigset_t *_Restrict_ __sigdefault)
|
||||||
__THROW _GL_ARG_NONNULL ((1, 2));
|
__THROW _GL_ARG_NONNULL ((1, 2));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawnattr_getsigdefault
|
||||||
|
# define posix_spawnattr_getsigdefault(a, b) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawnattr_getsigdefault is unportable - " \
|
||||||
|
"use gnulib module posix_spawnattr_getsigdefault for portability"), \
|
||||||
|
posix_spawnattr_getsigdefault (a, b))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if @GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT@
|
#if @GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT@
|
||||||
@@ -221,6 +251,12 @@ extern int posix_spawnattr_setsigdefault (posix_spawnattr_t *_Restrict_ __attr,
|
|||||||
const sigset_t *_Restrict_ __sigdefault)
|
const sigset_t *_Restrict_ __sigdefault)
|
||||||
__THROW _GL_ARG_NONNULL ((1, 2));
|
__THROW _GL_ARG_NONNULL ((1, 2));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawnattr_setsigdefault
|
||||||
|
# define posix_spawnattr_setsigdefault(a, b) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawnattr_setsigdefault is unportable - " \
|
||||||
|
"use gnulib module posix_spawnattr_setsigdefault for portability"), \
|
||||||
|
posix_spawnattr_setsigdefault (a, b))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if @GNULIB_POSIX_SPAWNATTR_GETSIGMASK@
|
#if @GNULIB_POSIX_SPAWNATTR_GETSIGMASK@
|
||||||
@@ -233,6 +269,12 @@ extern int posix_spawnattr_getsigmask (const posix_spawnattr_t *_Restrict_ __att
|
|||||||
sigset_t *_Restrict_ __sigmask)
|
sigset_t *_Restrict_ __sigmask)
|
||||||
__THROW _GL_ARG_NONNULL ((1, 2));
|
__THROW _GL_ARG_NONNULL ((1, 2));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawnattr_getsigmask
|
||||||
|
# define posix_spawnattr_getsigmask(a, b) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawnattr_getsigmask is unportable - " \
|
||||||
|
"use gnulib module posix_spawnattr_getsigmask for portability"), \
|
||||||
|
posix_spawnattr_getsigmask (a, b))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if @GNULIB_POSIX_SPAWNATTR_SETSIGMASK@
|
#if @GNULIB_POSIX_SPAWNATTR_SETSIGMASK@
|
||||||
@@ -245,6 +287,12 @@ extern int posix_spawnattr_setsigmask (posix_spawnattr_t *_Restrict_ __attr,
|
|||||||
const sigset_t *_Restrict_ __sigmask)
|
const sigset_t *_Restrict_ __sigmask)
|
||||||
__THROW _GL_ARG_NONNULL ((1, 2));
|
__THROW _GL_ARG_NONNULL ((1, 2));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawnattr_setsigmask
|
||||||
|
# define posix_spawnattr_setsigmask(a, b) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawnattr_setsigmask is unportable - " \
|
||||||
|
"use gnulib module posix_spawnattr_setsigmask for portability"), \
|
||||||
|
posix_spawnattr_setsigmask (a, b))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if @GNULIB_POSIX_SPAWNATTR_GETFLAGS@
|
#if @GNULIB_POSIX_SPAWNATTR_GETFLAGS@
|
||||||
@@ -257,6 +305,12 @@ extern int posix_spawnattr_getflags (const posix_spawnattr_t *_Restrict_ __attr,
|
|||||||
short int *_Restrict_ __flags)
|
short int *_Restrict_ __flags)
|
||||||
__THROW _GL_ARG_NONNULL ((1, 2));
|
__THROW _GL_ARG_NONNULL ((1, 2));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawnattr_getsigdefault
|
||||||
|
# define posix_spawnattr_getsigdefault(a, b) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawnattr_getsigdefault is unportable - " \
|
||||||
|
"use gnulib module posix_spawnattr_getsigdefault for portability"), \
|
||||||
|
posix_spawnattr_getsigdefault (a, b))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if @GNULIB_POSIX_SPAWNATTR_SETFLAGS@
|
#if @GNULIB_POSIX_SPAWNATTR_SETFLAGS@
|
||||||
@@ -269,6 +323,12 @@ extern int posix_spawnattr_setflags (posix_spawnattr_t *__attr,
|
|||||||
short int __flags)
|
short int __flags)
|
||||||
__THROW _GL_ARG_NONNULL ((1));
|
__THROW _GL_ARG_NONNULL ((1));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawnattr_getflags
|
||||||
|
# define posix_spawnattr_getflags(a, b) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawnattr_getflags is unportable - " \
|
||||||
|
"use gnulib module posix_spawnattr_getflags for portability"), \
|
||||||
|
posix_spawnattr_getflags (a, b))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if @GNULIB_POSIX_SPAWNATTR_GETPGROUP@
|
#if @GNULIB_POSIX_SPAWNATTR_GETPGROUP@
|
||||||
@@ -281,6 +341,12 @@ extern int posix_spawnattr_getpgroup (const posix_spawnattr_t *_Restrict_ __attr
|
|||||||
pid_t *_Restrict_ __pgroup)
|
pid_t *_Restrict_ __pgroup)
|
||||||
__THROW _GL_ARG_NONNULL ((1, 2));
|
__THROW _GL_ARG_NONNULL ((1, 2));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawnattr_setflags
|
||||||
|
# define posix_spawnattr_setflags(a, b) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawnattr_setflags is unportable - " \
|
||||||
|
"use gnulib module posix_spawnattr_setflags for portability"), \
|
||||||
|
posix_spawnattr_setflags (a, b))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if @GNULIB_POSIX_SPAWNATTR_SETPGROUP@
|
#if @GNULIB_POSIX_SPAWNATTR_SETPGROUP@
|
||||||
@@ -305,6 +371,12 @@ extern int posix_spawnattr_getschedpolicy (const posix_spawnattr_t *_Restrict_ _
|
|||||||
int *_Restrict_ __schedpolicy)
|
int *_Restrict_ __schedpolicy)
|
||||||
__THROW _GL_ARG_NONNULL ((1, 2));
|
__THROW _GL_ARG_NONNULL ((1, 2));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawnattr_getschedpolicy
|
||||||
|
# define posix_spawnattr_getschedpolicy(a, b) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawnattr_getschedpolicy is unportable - " \
|
||||||
|
"use gnulib module posix_spawnattr_getschedpolicy for portability"), \
|
||||||
|
posix_spawnattr_getschedpolicy (a, b))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if @GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY@
|
#if @GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY@
|
||||||
@@ -317,6 +389,12 @@ extern int posix_spawnattr_setschedpolicy (posix_spawnattr_t *__attr,
|
|||||||
int __schedpolicy)
|
int __schedpolicy)
|
||||||
__THROW _GL_ARG_NONNULL ((1));
|
__THROW _GL_ARG_NONNULL ((1));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawnattr_setschedpolicy
|
||||||
|
# define posix_spawnattr_setschedpolicy(a, b) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawnattr_setschedpolicy is unportable - " \
|
||||||
|
"use gnulib module posix_spawnattr_setschedpolicy for portability"), \
|
||||||
|
posix_spawnattr_setschedpolicy (a, b))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if @GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM@
|
#if @GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM@
|
||||||
@@ -329,6 +407,12 @@ extern int posix_spawnattr_getschedparam (const posix_spawnattr_t *_Restrict_ __
|
|||||||
struct sched_param *_Restrict_ __schedparam)
|
struct sched_param *_Restrict_ __schedparam)
|
||||||
__THROW _GL_ARG_NONNULL ((1, 2));
|
__THROW _GL_ARG_NONNULL ((1, 2));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawnattr_getschedparam
|
||||||
|
# define posix_spawnattr_getschedparam(a, b) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawnattr_getschedparam is unportable - " \
|
||||||
|
"use gnulib module posix_spawnattr_getschedparam for portability"), \
|
||||||
|
posix_spawnattr_getschedparam (a, b))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if @GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM@
|
#if @GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM@
|
||||||
@@ -341,6 +425,12 @@ extern int posix_spawnattr_setschedparam (posix_spawnattr_t *_Restrict_ __attr,
|
|||||||
const struct sched_param *_Restrict_ __schedparam)
|
const struct sched_param *_Restrict_ __schedparam)
|
||||||
__THROW _GL_ARG_NONNULL ((1, 2));
|
__THROW _GL_ARG_NONNULL ((1, 2));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawnattr_setschedparam
|
||||||
|
# define posix_spawnattr_setschedparam(a, b) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawnattr_setschedparam is unportable - " \
|
||||||
|
"use gnulib module posix_spawnattr_setschedparam for portability"), \
|
||||||
|
posix_spawnattr_setschedparam (a, b))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@@ -353,6 +443,12 @@ extern int posix_spawnattr_setschedparam (posix_spawnattr_t *_Restrict_ __attr,
|
|||||||
extern int posix_spawn_file_actions_init (posix_spawn_file_actions_t *__file_actions)
|
extern int posix_spawn_file_actions_init (posix_spawn_file_actions_t *__file_actions)
|
||||||
__THROW _GL_ARG_NONNULL ((1));
|
__THROW _GL_ARG_NONNULL ((1));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawn_file_actions_init
|
||||||
|
# define posix_spawn_file_actions_init(a) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawn_file_actions_init is unportable - " \
|
||||||
|
"use gnulib module posix_spawn_file_actions_init for portability"), \
|
||||||
|
posix_spawn_file_actions_init (a))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@
|
#if @GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY@
|
||||||
@@ -364,6 +460,12 @@ extern int posix_spawn_file_actions_init (posix_spawn_file_actions_t *__file_act
|
|||||||
extern int posix_spawn_file_actions_destroy (posix_spawn_file_actions_t *__file_actions)
|
extern int posix_spawn_file_actions_destroy (posix_spawn_file_actions_t *__file_actions)
|
||||||
__THROW _GL_ARG_NONNULL ((1));
|
__THROW _GL_ARG_NONNULL ((1));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawn_file_actions_destroy
|
||||||
|
# define posix_spawn_file_actions_destroy(a) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawn_file_actions_destroy is unportable - " \
|
||||||
|
"use gnulib module posix_spawn_file_actions_destroy for portability"), \
|
||||||
|
posix_spawn_file_actions_destroy (a))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
|
#if @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN@
|
||||||
@@ -379,6 +481,12 @@ extern int posix_spawn_file_actions_addopen (posix_spawn_file_actions_t *_Restri
|
|||||||
int __oflag, mode_t __mode)
|
int __oflag, mode_t __mode)
|
||||||
__THROW _GL_ARG_NONNULL ((1, 3));
|
__THROW _GL_ARG_NONNULL ((1, 3));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawn_file_actions_addopen
|
||||||
|
# define posix_spawn_file_actions_addopen(a, b, c, d, e) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawn_file_actions_addopen is unportable - " \
|
||||||
|
"use gnulib module posix_spawn_file_actions_addopen for portability"), \
|
||||||
|
posix_spawn_file_actions_addopen (a, b, c, d, e))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE@
|
#if @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE@
|
||||||
@@ -392,6 +500,12 @@ extern int posix_spawn_file_actions_addclose (posix_spawn_file_actions_t *__file
|
|||||||
int __fd)
|
int __fd)
|
||||||
__THROW _GL_ARG_NONNULL ((1));
|
__THROW _GL_ARG_NONNULL ((1));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawn_file_actions_addclose
|
||||||
|
# define posix_spawn_file_actions_addclose(a,b) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawn_file_actions_addclose is unportable - " \
|
||||||
|
"use gnulib module posix_spawn_file_actions_addclose for portability"), \
|
||||||
|
posix_spawn_file_actions_addclose (a, b))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2@
|
#if @GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2@
|
||||||
@@ -405,6 +519,12 @@ extern int posix_spawn_file_actions_adddup2 (posix_spawn_file_actions_t *__file_
|
|||||||
int __fd, int __newfd)
|
int __fd, int __newfd)
|
||||||
__THROW _GL_ARG_NONNULL ((1));
|
__THROW _GL_ARG_NONNULL ((1));
|
||||||
# endif
|
# endif
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef posix_spawn_file_actions_adddup2
|
||||||
|
# define posix_spawn_file_actions_adddup2(a,b,c) \
|
||||||
|
(GL_LINK_WARNING ("posix_spawn_file_actions_adddup2 is unportable - " \
|
||||||
|
"use gnulib module posix_spawn_file_actions_adddup2 for portability"), \
|
||||||
|
posix_spawn_file_actions_adddup2 (a, b, c))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
# signal_h.m4 serial 7
|
# signal_h.m4 serial 8
|
||||||
dnl Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
|
dnl Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||||
dnl This file is free software; the Free Software Foundation
|
dnl This file is free software; the Free Software Foundation
|
||||||
dnl gives unlimited permission to copy and/or distribute it,
|
dnl gives unlimited permission to copy and/or distribute it,
|
||||||
@@ -14,6 +14,7 @@ AC_DEFUN([gl_SIGNAL_H],
|
|||||||
[HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0], [[
|
[HAVE_TYPE_VOLATILE_SIG_ATOMIC_T=0], [[
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
]])
|
]])
|
||||||
|
AC_REQUIRE([AC_TYPE_UID_T])
|
||||||
])
|
])
|
||||||
|
|
||||||
AC_DEFUN([gl_SIGNAL_MODULE_INDICATOR],
|
AC_DEFUN([gl_SIGNAL_MODULE_INDICATOR],
|
||||||
|
@@ -20,10 +20,109 @@
|
|||||||
|
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
||||||
volatile sig_atomic_t s;
|
/* Check for required types. */
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
size_t a;
|
||||||
|
uid_t b;
|
||||||
|
volatile sig_atomic_t c;
|
||||||
|
sigset_t d;
|
||||||
|
pid_t e;
|
||||||
|
#if 0
|
||||||
|
/* Not guaranteed by gnulib. */
|
||||||
|
pthread_t f;
|
||||||
|
struct timespec g;
|
||||||
|
#endif
|
||||||
|
} s;
|
||||||
|
|
||||||
int
|
int
|
||||||
main (void)
|
main (void)
|
||||||
{
|
{
|
||||||
return s;
|
switch (0)
|
||||||
|
{
|
||||||
|
/* The following are guaranteed by C. */
|
||||||
|
case 0:
|
||||||
|
case SIGABRT:
|
||||||
|
case SIGFPE:
|
||||||
|
case SIGILL:
|
||||||
|
case SIGINT:
|
||||||
|
case SIGSEGV:
|
||||||
|
case SIGTERM:
|
||||||
|
/* The following is guaranteed by gnulib. */
|
||||||
|
#if GNULIB_SIGPIPE || defined SIGPIPE
|
||||||
|
case SIGPIPE:
|
||||||
|
#endif
|
||||||
|
/* Ensure no conflict with other standardized names. */
|
||||||
|
#ifdef SIGALRM
|
||||||
|
case SIGALRM:
|
||||||
|
#endif
|
||||||
|
#ifdef SIGBUS
|
||||||
|
case SIGBUS:
|
||||||
|
#endif
|
||||||
|
#ifdef SIGCHLD
|
||||||
|
case SIGCHLD:
|
||||||
|
#endif
|
||||||
|
#ifdef SIGCONT
|
||||||
|
case SIGCONT:
|
||||||
|
#endif
|
||||||
|
#ifdef SIGHUP
|
||||||
|
case SIGHUP:
|
||||||
|
#endif
|
||||||
|
#ifdef SIGKILL
|
||||||
|
case SIGKILL:
|
||||||
|
#endif
|
||||||
|
#ifdef SIGQUIT
|
||||||
|
case SIGQUIT:
|
||||||
|
#endif
|
||||||
|
#ifdef SIGSTOP
|
||||||
|
case SIGSTOP:
|
||||||
|
#endif
|
||||||
|
#ifdef SIGTSTP
|
||||||
|
case SIGTSTP:
|
||||||
|
#endif
|
||||||
|
#ifdef SIGTTIN
|
||||||
|
case SIGTTIN:
|
||||||
|
#endif
|
||||||
|
#ifdef SIGTTOU
|
||||||
|
case SIGTTOU:
|
||||||
|
#endif
|
||||||
|
#ifdef SIGUSR1
|
||||||
|
case SIGUSR1:
|
||||||
|
#endif
|
||||||
|
#ifdef SIGUSR2
|
||||||
|
case SIGUSR2:
|
||||||
|
#endif
|
||||||
|
#ifdef SIGSYS
|
||||||
|
case SIGSYS:
|
||||||
|
#endif
|
||||||
|
#ifdef SIGTRAP
|
||||||
|
case SIGTRAP:
|
||||||
|
#endif
|
||||||
|
#ifdef SIGURG
|
||||||
|
case SIGURG:
|
||||||
|
#endif
|
||||||
|
#ifdef SIGVTALRM
|
||||||
|
case SIGVTALRM:
|
||||||
|
#endif
|
||||||
|
#ifdef SIGXCPU
|
||||||
|
case SIGXCPU:
|
||||||
|
#endif
|
||||||
|
#ifdef SIGXFSZ
|
||||||
|
case SIGXFSZ:
|
||||||
|
#endif
|
||||||
|
#ifdef SIG
|
||||||
|
case SIG:
|
||||||
|
#endif
|
||||||
|
/* SIGRTMIN and SIGRTMAX need not be compile-time constants. */
|
||||||
|
#if 0
|
||||||
|
# ifdef SIGRTMIN
|
||||||
|
case SIGRTMIN:
|
||||||
|
# endif
|
||||||
|
# ifdef SIGRTMAX
|
||||||
|
case SIGRTMAX:
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
;
|
||||||
|
}
|
||||||
|
return s.a + s.b + s.c + s.e;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user