KWSys 2014-05-19 (c282e64f)

Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ c282e64f | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' 6074f33f..c282e64f
Brad King (2):
      2e00d252 SystemTools: Port cygwin path conversion to modern API
      c282e64f Process: Workaround child kill trouble on Cygwin

Change-Id: I39a3ca47fbb4065eff922d94e6d7019c417ed75c
This commit is contained in:
KWSys Robot 2014-05-19 10:53:51 -04:00 committed by Brad King
parent 7762c57405
commit ed52685dd7
2 changed files with 11 additions and 2 deletions

View File

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

View File

@ -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
@ -1113,7 +1113,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);
}