Commit 0aa41c7b authored by Brad King's avatar Brad King
Browse files

Merge branch 'backport-kwsys-cygwin-fixes' into release

parents 8c420ad3 0c7f84ca
...@@ -2413,6 +2413,12 @@ static void kwsysProcessKill(pid_t process_id) ...@@ -2413,6 +2413,12 @@ static void kwsysProcessKill(pid_t process_id)
/* Suspend the process to be sure it will not create more children. */ /* Suspend the process to be sure it will not create more children. */
kill(process_id, SIGSTOP); 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. */ /* Kill all children if we can find them. */
#if defined(__linux__) || defined(__CYGWIN__) #if defined(__linux__) || defined(__CYGWIN__)
/* First try using the /proc filesystem. */ /* First try using the /proc filesystem. */
......
...@@ -92,7 +92,7 @@ extern char **environ; ...@@ -92,7 +92,7 @@ extern char **environ;
#endif #endif
#ifdef __CYGWIN__ #ifdef __CYGWIN__
extern "C" void cygwin_conv_to_win32_path(const char *path, char *win32_path); # include <sys/cygwin.h>
#endif #endif
// getpwnam doesn't exist on Windows and Cray Xt3/Catamount // getpwnam doesn't exist on Windows and Cray Xt3/Catamount
...@@ -1110,7 +1110,10 @@ bool SystemTools::PathCygwinToWin32(const char *path, char *win32_path) ...@@ -1110,7 +1110,10 @@ bool SystemTools::PathCygwinToWin32(const char *path, char *win32_path)
} }
else 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); SystemToolsTranslationMap::value_type entry(path, win32_path);
SystemTools::Cyg2Win32Map->insert(entry); SystemTools::Cyg2Win32Map->insert(entry);
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment