From: Ulrich Drepper Date: Mon, 11 Jan 2010 02:43:30 +0000 (-0800) Subject: FIx up signal.h for XPG7. X-Git-Tag: glibc-2.12~289 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=33780b6d332af9d94216eff880734be7748c2269;p=platform%2Fupstream%2Fglibc.git FIx up signal.h for XPG7. --- diff --git a/ChangeLog b/ChangeLog index 00c7710..8dd1c05 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2010-01-10 Ulrich Drepper + * 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. @@ -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 * conform/conformtest.pl: For XPG7 testing the headers are supposed to diff --git a/conform/data/signal.h-data b/conform/data/signal.h-data index b48a1ff..6dbf1fb 100644 --- a/conform/data/signal.h-data +++ b/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 @@ -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 @@ -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) diff --git a/signal/signal.h b/signal/signal.h index 67f8cb4..2bdf648 100644 --- a/signal/signal.h +++ b/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 @@ -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 @@ -354,7 +354,7 @@ extern int sigreturn (struct sigcontext *__scp) __THROW; extern int siginterrupt (int __sig, int __interrupt) __THROW; # include -# ifdef __USE_XOPEN +# if defined __USE_XOPEN || defined __USE_XOPEN2K8 /* This will define `ucontext_t' and `mcontext_t'. */ # include # endif diff --git a/sysdeps/unix/sysv/linux/bits/sigaction.h b/sysdeps/unix/sysv/linux/bits/sigaction.h index 48cc531..62be069 100644 --- a/sysdeps/unix/sysv/linux/bits/sigaction.h +++ b/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 @@ -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. */ diff --git a/sysdeps/unix/sysv/linux/ia64/bits/sigaction.h b/sysdeps/unix/sysv/linux/ia64/bits/sigaction.h index 11599d5..b557eaa 100644 --- a/sysdeps/unix/sysv/linux/ia64/bits/sigaction.h +++ b/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 @@ -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. */ diff --git a/sysdeps/unix/sysv/linux/s390/bits/sigaction.h b/sysdeps/unix/sysv/linux/s390/bits/sigaction.h index 308cb5b..8767d67 100644 --- a/sysdeps/unix/sysv/linux/s390/bits/sigaction.h +++ b/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 @@ -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. */ diff --git a/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h b/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h index ee41967..e474dbe 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h +++ b/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 @@ -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