ENH: Changing kwsysProcess implementation on Cygwin to use the Win32 implementation instead of the UNIX implementation. This makes dealing with misbehaving children work better. The KWSys Win32 process implementaion is more robust than the Cygwin implementation (partly because it doesn't have to exactly reproduce the POSIX api).
This commit is contained in:
parent
b1541f3ee5
commit
370a39ce4b
|
@ -344,17 +344,17 @@ SET(KWSYS_CXX_SRCS)
|
||||||
|
|
||||||
# Add the proper sources for this platform's Process implementation.
|
# Add the proper sources for this platform's Process implementation.
|
||||||
IF(KWSYS_USE_Process)
|
IF(KWSYS_USE_Process)
|
||||||
IF(NOT UNIX)
|
IF(WIN32)
|
||||||
# Use the Windows implementation. We need the encoded forwarding executable.
|
# Use the Windows implementation. We need the encoded forwarding executable.
|
||||||
SET(KWSYS_C_SRCS ${KWSYS_C_SRCS} ProcessWin32.c
|
SET(KWSYS_C_SRCS ${KWSYS_C_SRCS} ProcessWin32.c
|
||||||
${PROJECT_BINARY_DIR}/${KWSYS_NAMESPACE}ProcessFwd9xEnc.c)
|
${PROJECT_BINARY_DIR}/${KWSYS_NAMESPACE}ProcessFwd9xEnc.c)
|
||||||
SET_SOURCE_FILES_PROPERTIES(
|
SET_SOURCE_FILES_PROPERTIES(
|
||||||
${PROJECT_BINARY_DIR}/${KWSYS_NAMESPACE}ProcessFwd9xEnc.c
|
${PROJECT_BINARY_DIR}/${KWSYS_NAMESPACE}ProcessFwd9xEnc.c
|
||||||
PROPERTIES GENERATED 1)
|
PROPERTIES GENERATED 1)
|
||||||
ELSE(NOT UNIX)
|
ELSE(WIN32)
|
||||||
# Use the UNIX implementation.
|
# Use the UNIX implementation.
|
||||||
SET(KWSYS_C_SRCS ${KWSYS_C_SRCS} ProcessUNIX.c)
|
SET(KWSYS_C_SRCS ${KWSYS_C_SRCS} ProcessUNIX.c)
|
||||||
ENDIF(NOT UNIX)
|
ENDIF(WIN32)
|
||||||
ENDIF(KWSYS_USE_Process)
|
ENDIF(KWSYS_USE_Process)
|
||||||
|
|
||||||
# Add sources for Base64 encoding.
|
# Add sources for Base64 encoding.
|
||||||
|
@ -436,7 +436,7 @@ ADD_DEFINITIONS("-DKWSYS_NAMESPACE=${KWSYS_NAMESPACE}")
|
||||||
# file and build it into the library. Win9x platforms reproduce the
|
# file and build it into the library. Win9x platforms reproduce the
|
||||||
# executable into a temporary directory when it is needed.
|
# executable into a temporary directory when it is needed.
|
||||||
IF(KWSYS_USE_Process)
|
IF(KWSYS_USE_Process)
|
||||||
IF(NOT UNIX)
|
IF(WIN32)
|
||||||
# Build the forwarding executable itself and a program that will
|
# Build the forwarding executable itself and a program that will
|
||||||
# encode it into a C file.
|
# encode it into a C file.
|
||||||
ADD_EXECUTABLE(${KWSYS_NAMESPACE}ProcessFwd9x ProcessFwd9x.c)
|
ADD_EXECUTABLE(${KWSYS_NAMESPACE}ProcessFwd9x ProcessFwd9x.c)
|
||||||
|
@ -477,7 +477,7 @@ IF(KWSYS_USE_Process)
|
||||||
# Make sure build occurs in proper order.
|
# Make sure build occurs in proper order.
|
||||||
ADD_DEPENDENCIES(${KWSYS_NAMESPACE} ${KWSYS_NAMESPACE}ProcessFwd9x
|
ADD_DEPENDENCIES(${KWSYS_NAMESPACE} ${KWSYS_NAMESPACE}ProcessFwd9x
|
||||||
${KWSYS_NAMESPACE}EncodeExecutable)
|
${KWSYS_NAMESPACE}EncodeExecutable)
|
||||||
ENDIF(NOT UNIX)
|
ENDIF(WIN32)
|
||||||
ENDIF(KWSYS_USE_Process)
|
ENDIF(KWSYS_USE_Process)
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue