summaryrefslogtreecommitdiffstats
path: root/Source/kwsys/ProcessUNIX.c
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-05-19 14:58:14 (GMT)
committerBrad King <brad.king@kitware.com>2014-05-19 14:58:14 (GMT)
commit2903d609b1629f0a250ff5ba4ac1018498b00495 (patch)
tree6e1a551fd04ffd6058c20e4282beda540af22b65 /Source/kwsys/ProcessUNIX.c
parentd5f8abc286ab69a0e136e51fec3d02acb7604abd (diff)
parented52685dd7ea5c54e7a5e6caa789293d76f10b15 (diff)
downloadCMake-2903d609b1629f0a250ff5ba4ac1018498b00495.zip
CMake-2903d609b1629f0a250ff5ba4ac1018498b00495.tar.gz
CMake-2903d609b1629f0a250ff5ba4ac1018498b00495.tar.bz2
Merge branch 'upstream-kwsys' into update-kwsys
Diffstat (limited to 'Source/kwsys/ProcessUNIX.c')
-rw-r--r--Source/kwsys/ProcessUNIX.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/kwsys/ProcessUNIX.c b/Source/kwsys/ProcessUNIX.c
index faeb967..241e295 100644
--- a/Source/kwsys/ProcessUNIX.c
+++ b/Source/kwsys/ProcessUNIX.c
@@ -2413,6 +2413,12 @@ static void kwsysProcessKill(pid_t process_id)
/* Suspend the process to be sure it will not create more children. */
kill(process_id, SIGSTOP);
+#if defined(__CYGWIN__)
+ /* Some Cygwin versions seem to need help here. Give up our time slice
+ so that the child can process SIGSTOP before we send SIGKILL. */
+ usleep(1);
+#endif
+
/* Kill all children if we can find them. */
#if defined(__linux__) || defined(__CYGWIN__)
/* First try using the /proc filesystem. */