Skip to content

Commit

Permalink
FIx up signal.h for XPG7.
Browse files Browse the repository at this point in the history
  • Loading branch information
Ulrich Drepper committed Jan 11, 2010
1 parent 99d46ae commit 33780b6
Show file tree
Hide file tree
Showing 7 changed files with 32 additions and 8 deletions.
9 changes: 9 additions & 0 deletions ChangeLog
@@ -1,5 +1,12 @@
2010-01-10 Ulrich Drepper <drepper@redhat.com>

* sysdeps/unix/sysv/linux/bits/sigaction.h: SA_RESTART, SA_NODEFER,
and SA_RESETHAND now available in Base.
* sysdeps/unix/sysv/linux/ia64/bits/sigaction.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/sigaction.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise.
* conform/data/signal.h-data: Update for XPG7.

* posix/sys/types.h: Define id_t, clock_t, blksize_t for XPG7.

* string/strings.h: Don't declare obsolete functions for XPG7.
Expand All @@ -15,6 +22,8 @@

* posix/sys/wait.h: Define idtype_t and declare waitid for XPG7.

* signal/signal.h: Define size_t, mcontext_t, and ucontext_t for XPG7.

2010-01-10 Ulrich Drepper <drepper@redhat.com>

* conform/conformtest.pl: For XPG7 testing the headers are supposed to
Expand Down
9 changes: 8 additions & 1 deletion conform/data/signal.h-data
@@ -1,6 +1,8 @@
typed-constant SIG_DFL {void(*)(int)}
typed-constant SIG_ERR {void(*)(int)}
#if !defined ISO && !defined POSIX && !defined POSIX2008
typed-constant SIG_HOLD {void(*)(int)}
#endif
typed-constant SIG_IGN {void(*)(int)}

type sig_atomic_t
Expand All @@ -14,11 +16,14 @@ type uid_t
type mcontext_t

type ucontext_t

element ucontext_t {ucontext_t*} uc_link
element ucontext_t sigset_t uc_sigmask
element ucontext_t stack_t uc_stack
element ucontext_t mcontext_t uc_mcontext

type {struct timespec}
element {struct timespec} __time_t tv_sec
element {struct timespec} long tv_nsec
#endif

element {union sigval} int sival_int
Expand Down Expand Up @@ -173,7 +178,9 @@ constant SI_TIMER
constant SI_ASYNCIO
constant SI_MESGQ

#if !defined XOPEN2K8 && !defined POSIX && !defined POSIX2008
function void (*bsd_signal (int, void(*)(int)))(int)
#endif
function int kill (pid_t, int)
#if !defined POSIX && !defined POSIX2008
function int killpg (pid_t, int)
Expand Down
6 changes: 3 additions & 3 deletions signal/signal.h
@@ -1,4 +1,4 @@
/* Copyright (C) 1991-2003, 2004, 2007, 2009 Free Software Foundation, Inc.
/* Copyright (C) 1991-2004, 2007, 2009, 2010 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
Expand Down Expand Up @@ -344,7 +344,7 @@ extern int sigreturn (struct sigcontext *__scp) __THROW;
#endif /* use BSD. */


#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
# define __need_size_t
# include <stddef.h>

Expand All @@ -354,7 +354,7 @@ extern int sigreturn (struct sigcontext *__scp) __THROW;
extern int siginterrupt (int __sig, int __interrupt) __THROW;

# include <bits/sigstack.h>
# ifdef __USE_XOPEN
# if defined __USE_XOPEN || defined __USE_XOPEN2K8
/* This will define `ucontext_t' and `mcontext_t'. */
# include <sys/ucontext.h>
# endif
Expand Down
4 changes: 3 additions & 1 deletion sysdeps/unix/sysv/linux/bits/sigaction.h
@@ -1,5 +1,5 @@
/* The proper definitions for Linux's sigaction.
Copyright (C) 1993-1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1993-1999, 2000, 2010 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
Expand Down Expand Up @@ -57,6 +57,8 @@ struct sigaction
three arguments instead of one. */
#if defined __USE_UNIX98 || defined __USE_MISC
# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */
#endif
#if defined __USE_UNIX98 || defined __USE_MISC || defined __USE_XOPEN2K8
# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */
# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when
its handler is being executed. */
Expand Down
4 changes: 3 additions & 1 deletion sysdeps/unix/sysv/linux/ia64/bits/sigaction.h
@@ -1,5 +1,5 @@
/* Definitions for Linux/ia64 sigaction.
Copyright (C) 1996, 1997, 2000, 2003 Free Software Foundation, Inc.
Copyright (C) 1996, 1997, 2000, 2003, 2010 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
Expand Down Expand Up @@ -53,6 +53,8 @@ struct sigaction
#define SA_SIGINFO 0x00000004
#if defined __USE_UNIX98 || defined __USE_MISC
# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */
#endif
#if defined __USE_UNIX98 || defined __USE_MISC || defined __USE_XOPEN2K8
# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */
# define SA_NODEFER 0x40000000 /* Don't automatically block the signal
when its handler is being executed. */
Expand Down
4 changes: 3 additions & 1 deletion sysdeps/unix/sysv/linux/s390/bits/sigaction.h
@@ -1,5 +1,5 @@
/* Definitions for 31 & 64 bit S/390 sigaction.
Copyright (C) 2001, 2002 Free Software Foundation, Inc.
Copyright (C) 2001, 2002, 2010 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
Expand Down Expand Up @@ -90,6 +90,8 @@ struct sigaction
three arguments instead of one. */
#if defined __USE_UNIX98 || defined __USE_MISC
# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */
#endif
#if defined __USE_UNIX98 || defined __USE_MISC || defined __USE_XOPEN2K8
# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */
# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when
its handler is being executed. */
Expand Down
4 changes: 3 additions & 1 deletion sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
@@ -1,5 +1,5 @@
/* The proper definitions for Linux/SPARC sigaction.
Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1996-2000, 2010 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
Expand Down Expand Up @@ -58,6 +58,8 @@ struct sigaction
three arguments instead of one. */
#if defined __USE_UNIX98 || defined __USE_MISC
# define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */
#endif
#if defined __USE_UNIX98 || defined __USE_MISC || defined __USE_XOPEN2K8
# define SA_RESTART 0x00000002 /* Restart syscall on signal return. */
# define SA_INTERRUPT 0x00000010 /* Historical no-op. */
# define SA_NOMASK 0x00000020 /* Don't automatically block the signal when
Expand Down

0 comments on commit 33780b6

Please sign in to comment.