Merge commit 'stable/20110609'
[gnulib.git] / doc / posix-headers / signal.texi
1 @node signal.h
2 @section @file{signal.h}
3
4 POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html}
5
6 Gnulib module: signal
7
8 Portability problems fixed by Gnulib:
9 @itemize
10 @item
11 @code{volatile sig_atomic_t} is rejected by older compilers on some
12 platforms:
13 AIX.
14 @item
15 @code{sigset_t} is only declared in <sys/types.h> on some platforms:
16 mingw.
17 @item
18 @code{struct sigaction} and @code{siginfo_t} are missing on some
19 platforms:
20 mingw.
21 @item
22 @code{struct sigaction} lacks the @code{sa_sigaction} member on some
23 platforms:
24 Irix 5.3, Interix 3.5.
25 @item
26 The signal @code{SIGPIPE} is not defined on some platforms:
27 mingw.
28 @item
29 The macro @code{SA_NODEFER} is not defined on some platforms:
30 Interix 3.5.
31 @item
32 The type @code{sighandler_t} (a GNU extension) is not defined on most non-glibc
33 platforms:
34 MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, HP-UX 11,
35 IRIX 6.5, OSF/1 5.1, Solaris 11 2010-11, Cygwin, mingw, Interix 3.5, BeOS.
36 @end itemize
37
38 Portability problems not fixed by Gnulib:
39 @itemize
40 @item
41 Many signals are not defined on some platforms:
42 mingw.
43 @item
44 The macros @code{SIGRTMIN} and @code{SIGRTMAX} expand to an expression of type
45 @code{long} instead of @code{int} on some platforms:
46 OSF/1 5.1.
47 @item
48 The macro @code{SIGBUS} is set to the same value as @code{SIGSEGV},
49 rather than being a distinct signal, on some platforms:
50 Haiku.
51 @end itemize