avoid some overlong lines from posix urls, etc.
[gnulib.git] / doc / posix-functions / sigaction.texi
1 @node sigaction
2 @section @code{sigaction}
3 @findex sigaction
4
5 POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/sigaction.html}
6
7 Gnulib module: sigaction
8
9 Portability problems fixed by Gnulib:
10 @itemize
11 @item
12 This function is missing on some platforms:
13 mingw.
14 @end itemize
15
16 Portability problems not fixed by Gnulib:
17 @itemize
18 @item
19 POSIX recommends that when specifying SA_RESETHAND, SA_NODEFER must
20 also be specified.
21
22 @item
23 Support for SA_ONSTACK is missing on some platforms:
24 mingw, cygwin.
25
26 @item
27 Support for SA_SIGINFO is missing on some platforms:
28 mingw, Interix 3.5.
29
30 @item
31 Support for SIGCHLD, and thus for SA_NOCLDSTOP and SA_NOCLDWAIT, is
32 missing on some platforms:
33 mingw.
34
35 @item
36 Support for SA_RESTART is missing on some platforms:
37 mingw.
38
39 @item
40 In spite of having SA_SIGACTION, struct sigaction lacks the
41 sa_sigaction member on some platforms:
42 Irix 5.3.
43
44 @item
45 The symbolic value @code{SIG_IGN} for the @code{SIGCHLD} signal is equivalent
46 to a signal handler
47 @smallexample
48 void handle_child (int sigchld)
49 @{
50   while (waitpid (-1, NULL, WNOHANG) > 0)
51     ;
52 @}
53 @end smallexample
54 except that @code{SIG_IGN} for @code{SIGCHLD} has the effect that the children
55 execution times are not accounted in the @code{times} function.
56 On some platforms (BSD? SystemV? Linux?), you need to use the @code{sigaction}
57 flag @code{SA_NOCLDWAIT} in order to obtain this behavior.
58 @end itemize