sigaction
=========

POSIX specification: http://www.opengroup.org/onlinepubs/9699919799/functions/sigaction.html

Gnulib module: sigaction

Portability problems fixed by Gnulib:

  * This function is missing on some platforms: mingw.

Portability problems not fixed by Gnulib:

  * POSIX recommends that when specifying SA_RESETHAND, SA_NODEFER must also be specified.

  * Support for SA_ONSTACK is missing on some platforms: mingw, cygwin.

  * Support for SA_SIGINFO is missing on some platforms: mingw, Interix 3.5.

  * Support for SIGCHLD, and thus for SA_NOCLDSTOP and SA_NOCLDWAIT, is missing on some platforms: mingw.

  * Support for SA_RESTART is missing on some platforms: mingw.

  * In spite of having SA_SIGACTION, struct sigaction lacks the sa_sigaction member on some platforms: Irix 5.3.

  * The symbolic value SIG_IGN for the SIGCHLD signal is equivalent to a signal handler

          void handle_child (int sigchld)
          {
            while (waitpid (-1, NULL, WNOHANG) > 0)
              ;
          }

     except that SIG_IGN for SIGCHLD has the effect that the children execution times are not accounted in the times function. On some platforms (BSD? SystemV? Linux?), you need to use the sigaction flag SA_NOCLDWAIT in order to obtain this behavior.