Thread (80 messages) 80 messages, 5 authors, 2019-06-25

Re: [PATCH 15/17] msvc: do not pretend to support all signals

From: Eric Sunshine <hidden>
Date: 2019-06-19 04:11:02

On Tue, Jun 18, 2019 at 8:24 AM Jeff Hostetler via GitGitGadget
[off-list ref] wrote:
quoted hunk ↗ jump to hunk
This special-cases various signals that are not supported on Windows,
such as SIGPIPE. These cause the UCRT to throw asserts (at least in
debug mode).

Signed-off-by: Jeff Hostetler <redacted>
Signed-off-by: Johannes Schindelin <redacted>
---
diff --git a/compat/mingw.c b/compat/mingw.c
@@ -2119,8 +2119,34 @@ int mingw_raise(int sig)
+#if defined(_MSC_VER)
+               /*
+                * <signal.h> in the CRT defines 8 signals as being
+                * supported on the platform.  Anything else causes
+                * an "Invalid signal or error" (which in DEBUG builds
+                * causes the Abort/Retry/Ignore dialog).  We by-pass
+                * the CRT for things we already know will fail.
+                */
+               /*case SIGINT:*/
+       case SIGILL:
Why is SIGINT commented out?

And, the comment block seems over-indented.
+       case SIGFPE:
+       case SIGSEGV:
+       case SIGTERM:
+       case SIGBREAK:
+       case SIGABRT:
+       case SIGABRT_COMPAT:
+               return raise(sig);
+       default:
+               errno = EINVAL;
+               return -1;
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help