[Cmake-commits] CMake branch, next, updated. v3.0.0-rc5-3247-gf0520ef

Brad King brad.king at kitware.com
Tue May 20 11:45:53 EDT 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  f0520efb0eb04e103cf3f21f5f7a2ee723f44782 (commit)
       via  0c7f84ca41ebd871615426b9a159922422701859 (commit)
       via  e604209cb930c5bc7e53f58625407b82e6899d0f (commit)
      from  f83aa55ad7666581ea5ff65ba40ab95ba47d6b3f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f0520efb0eb04e103cf3f21f5f7a2ee723f44782
commit f0520efb0eb04e103cf3f21f5f7a2ee723f44782
Merge: f83aa55 0c7f84c
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue May 20 11:45:52 2014 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue May 20 11:45:52 2014 -0400

    Merge topic 'backport-kwsys-cygwin-fixes' into next
    
    0c7f84ca KWSys Process: Workaround child kill trouble on Cygwin
    e604209c KWSys SystemTools: Port cygwin path conversion to modern API


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0c7f84ca41ebd871615426b9a159922422701859
commit 0c7f84ca41ebd871615426b9a159922422701859
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon May 19 10:53:51 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue May 20 09:48:35 2014 -0400

    KWSys Process: Workaround child kill trouble on Cygwin
    
    When we kill a child we send SIGSTOP first so that we can traverse its
    child processes recursively.  On unwinding the recursion we then send
    SIGKILL.  Current Cygwin has trouble when both signals are sent in quick
    succession by the parent process.  Add a usleep(1) after sending the
    first signal to give up our time slice and give Cygwin a chance to
    process the first signal before sending the second.

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.  */

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e604209cb930c5bc7e53f58625407b82e6899d0f
commit e604209cb930c5bc7e53f58625407b82e6899d0f
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri May 16 12:39:46 2014 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue May 20 09:48:26 2014 -0400

    KWSys SystemTools: Port cygwin path conversion to modern API
    
    The cygwin_conv_to_win32_path function is deprecated in favor of
    cygwin_conv_path.  Use the latter.

diff --git a/Source/kwsys/SystemTools.cxx b/Source/kwsys/SystemTools.cxx
index f4a443f..e5d8bde 100644
--- a/Source/kwsys/SystemTools.cxx
+++ b/Source/kwsys/SystemTools.cxx
@@ -92,7 +92,7 @@ extern char **environ;
 #endif
 
 #ifdef __CYGWIN__
-extern "C" void cygwin_conv_to_win32_path(const char *path, char *win32_path);
+# include <sys/cygwin.h>
 #endif
 
 // getpwnam doesn't exist on Windows and Cray Xt3/Catamount
@@ -1110,7 +1110,10 @@ bool SystemTools::PathCygwinToWin32(const char *path, char *win32_path)
     }
   else
     {
-    cygwin_conv_to_win32_path(path, win32_path);
+    if(cygwin_conv_path(CCP_POSIX_TO_WIN_A, path, win32_path, MAX_PATH) != 0)
+      {
+      win32_path[0] = 0;
+      }
     SystemToolsTranslationMap::value_type entry(path, win32_path);
     SystemTools::Cyg2Win32Map->insert(entry);
     }

-----------------------------------------------------------------------

Summary of changes:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list