diff lib/sigaction.c @ 10236:d7f97416cbe1

Define SA_RESTART also for mingw.
author Bruno Haible <bruno@clisp.org>
date Sun, 22 Jun 2008 21:54:08 +0200
parents 29502a2dd08a
children 5fbf24129e48
line wrap: on
line diff
--- a/lib/sigaction.c	Sun Jun 22 21:49:39 2008 +0200
+++ b/lib/sigaction.c	Sun Jun 22 21:54:08 2008 +0200
@@ -35,11 +35,15 @@
    the situation by reading static storage in a signal handler, which
    POSIX warns is not generically async-signal-safe.  Oh well.
 
-   Additionally, SIGCHLD is not defined, so we don't implement
-   SA_NOCLDSTOP or SA_NOCLDWAIT; sigaltstack() is not present, so we
-   don't implement SA_ONSTACK; and siginterrupt() is not present, so
-   we don't implement SA_RESTART.  Supporting SA_SIGINFO is impossible
-   to do portably.
+   Additionally:
+     - We don't implement SA_NOCLDSTOP or SA_NOCLDWAIT, because SIGCHLD
+       is not defined.
+     - We don't implement SA_ONSTACK, because sigaltstack() is not present.
+     - We ignore SA_RESTART, because blocking Win32 calls are not interrupted
+       anyway when an asynchronous signal occurs, and the MSVCRT runtime
+       never sets errno to EINTR.
+     - We don't implement SA_SIGINFO because it is impossible to do so
+       portably.
 
    POSIX states that an application should not mix signal() and
    sigaction().  We support the use of signal() within the gnulib