Merge pull request #35 from tinysun212/pr-cygwin-1
Fixed for Cygwin
diff --git a/lib/BuildSystem/LaneBasedExecutionQueue.cpp b/lib/BuildSystem/LaneBasedExecutionQueue.cpp
index 7f0e83a..69bea51 100644
--- a/lib/BuildSystem/LaneBasedExecutionQueue.cpp
+++ b/lib/BuildSystem/LaneBasedExecutionQueue.cpp
@@ -159,10 +159,12 @@
}
posix_spawnattr_setsigdefault(&attributes, &mostSignals);
#else
- sigset_t allSignals;
- sigfillset(&allSignals);
- posix_spawnattr_setsigdefault(&attributes, &allSignals);
-#endif
+ sigset_t mostSignals;
+ sigfillset(&mostSignals);
+ sigdelset(&mostSignals, SIGKILL);
+ sigdelset(&mostSignals, SIGSTOP);
+ posix_spawnattr_setsigdefault(&attributes, &mostSignals);
+#endif
// Establish a separate process group.
posix_spawnattr_setpgroup(&attributes, 0);
diff --git a/lib/Commands/NinjaBuildCommand.cpp b/lib/Commands/NinjaBuildCommand.cpp
index 5b8ac09..a00d7d8 100644
--- a/lib/Commands/NinjaBuildCommand.cpp
+++ b/lib/Commands/NinjaBuildCommand.cpp
@@ -1169,9 +1169,11 @@
}
posix_spawnattr_setsigdefault(&attributes, &mostSignals);
#else
- sigset_t allSignals;
- sigfillset(&allSignals);
- posix_spawnattr_setsigdefault(&attributes, &allSignals);
+ sigset_t mostSignals;
+ sigfillset(&mostSignals);
+ sigdelset(&mostSignals, SIGKILL);
+ sigdelset(&mostSignals, SIGSTOP);
+ posix_spawnattr_setsigdefault(&attributes, &mostSignals);
#endif
// Establish a separate process group.