poll tests: Avoid test failure on BSD and Solaris systems.
[gnulib.git] / doc / posix-functions / sigaction.texi
blob2dd279a7788da9809ca5162951a7f3b6ab5396fd
1 @node sigaction
2 @section @code{sigaction}
3 @findex sigaction
5 POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/sigaction.html}
7 Gnulib module: sigaction
9 Portability problems fixed by Gnulib:
10 @itemize
11 @item
12 This function is missing on some platforms:
13 mingw, MSVC 14.
14 @end itemize
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.
22 @item
23 Support for SA_ONSTACK is missing on some platforms:
24 mingw, MSVC 14, cygwin.
26 @item
27 Support for SA_SIGINFO is missing on some platforms:
28 mingw, MSVC 14.
30 @item
31 Support for SIGCHLD, and thus for SA_NOCLDSTOP and SA_NOCLDWAIT, is
32 missing on some platforms:
33 mingw, MSVC 14.
35 @item
36 Support for SA_RESETHAND is missing on some platforms:
37 NonStop.
39 @item
40 Support for SA_RESTART is missing on some platforms:
41 mingw, MSVC 14, NonStop.
43 @item
44 The symbolic value @code{SIG_IGN} for the @code{SIGCHLD} signal is equivalent
45 to a signal handler
46 @smallexample
47 void handle_child (int sigchld)
49   while (waitpid (-1, NULL, WNOHANG) > 0)
50     ;
52 @end smallexample
53 except that @code{SIG_IGN} for @code{SIGCHLD} has the effect that the children
54 execution times are not accounted in the @code{times} function.
55 On some platforms (BSD? SystemV? Linux?), you need to use the @code{sigaction}
56 flag @code{SA_NOCLDWAIT} in order to obtain this behavior.
57 @end itemize