Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
CMake
CMake
Commits
31c218e6
Commit
31c218e6
authored
May 07, 2015
by
Brad King
💬
Browse files
Merge branch 'upstream-kwsys' into update-kwsys
parents
ee1ddec4
ac94a796
Changes
3
Hide whitespace changes
Inline
Side-by-side
Source/kwsys/Process.h.in
View file @
31c218e6
...
...
@@ -36,6 +36,7 @@
# define kwsysProcess_SetPipeShared kwsys_ns(Process_SetPipeShared)
# define kwsysProcess_Option_Detach kwsys_ns(Process_Option_Detach)
# define kwsysProcess_Option_HideWindow kwsys_ns(Process_Option_HideWindow)
# define kwsysProcess_Option_MergeOutput kwsys_ns(Process_Option_MergeOutput)
# define kwsysProcess_Option_Verbatim kwsys_ns(Process_Option_Verbatim)
# define kwsysProcess_GetOption kwsys_ns(Process_GetOption)
# define kwsysProcess_SetOption kwsys_ns(Process_SetOption)
...
...
@@ -186,6 +187,12 @@ kwsysEXPORT void kwsysProcess_SetPipeNative(kwsysProcess* cp, int pipe,
* 0 = No (default)
* 1 = Yes
*
* kwsysProcess_Option_MergeOutput = Whether to merge stdout/stderr.
* No content will be returned as stderr.
* Any actual stderr will be on stdout.
* 0 = No (default)
* 1 = Yes
*
* kwsysProcess_Option_Verbatim = Whether SetCommand and AddCommand
* should treat the first argument
* as a verbatim command line
...
...
@@ -200,6 +207,7 @@ enum kwsysProcess_Option_e
{
kwsysProcess_Option_HideWindow,
kwsysProcess_Option_Detach,
kwsysProcess_Option_MergeOutput,
kwsysProcess_Option_Verbatim
};
...
...
@@ -384,6 +392,7 @@ kwsysEXPORT void kwsysProcess_Kill(kwsysProcess* cp);
# undef kwsysProcess_SetPipeShared
# undef kwsysProcess_Option_Detach
# undef kwsysProcess_Option_HideWindow
# undef kwsysProcess_Option_MergeOutput
# undef kwsysProcess_Option_Verbatim
# undef kwsysProcess_GetOption
# undef kwsysProcess_SetOption
...
...
Source/kwsys/ProcessUNIX.c
View file @
31c218e6
...
...
@@ -234,6 +234,9 @@ struct kwsysProcess_s
/* Whether to treat command lines as verbatim. */
int
Verbatim
;
/* Whether to merge stdout/stderr of the child. */
int
MergeOutput
;
/* Time at which the child started. Negative for no timeout. */
kwsysProcessTime
StartTime
;
...
...
@@ -644,6 +647,7 @@ int kwsysProcess_GetOption(kwsysProcess* cp, int optionId)
switch
(
optionId
)
{
case
kwsysProcess_Option_Detach
:
return
cp
->
OptionDetach
;
case
kwsysProcess_Option_MergeOutput
:
return
cp
->
MergeOutput
;
case
kwsysProcess_Option_Verbatim
:
return
cp
->
Verbatim
;
default:
return
0
;
}
...
...
@@ -660,6 +664,7 @@ void kwsysProcess_SetOption(kwsysProcess* cp, int optionId, int value)
switch
(
optionId
)
{
case
kwsysProcess_Option_Detach
:
cp
->
OptionDetach
=
value
;
break
;
case
kwsysProcess_Option_MergeOutput
:
cp
->
MergeOutput
=
value
;
break
;
case
kwsysProcess_Option_Verbatim
:
cp
->
Verbatim
=
value
;
break
;
default:
break
;
}
...
...
@@ -997,7 +1002,7 @@ void kwsysProcess_Execute(kwsysProcess* cp)
nextStdIn
=
p
[
0
];
si
.
StdOut
=
p
[
1
];
}
si
.
StdErr
=
cp
->
PipeChildStd
[
2
];
si
.
StdErr
=
cp
->
MergeOutput
?
cp
->
PipeChildStd
[
1
]
:
cp
->
PipeChildStd
[
2
];
{
int
res
=
kwsysProcessCreate
(
cp
,
i
,
&
si
);
...
...
@@ -1011,7 +1016,7 @@ void kwsysProcess_Execute(kwsysProcess* cp)
{
kwsysProcessCleanupDescriptor
(
&
si
.
StdOut
);
}
if
(
si
.
StdErr
!=
cp
->
PipeChildStd
[
2
])
if
(
si
.
StdErr
!=
cp
->
PipeChildStd
[
2
]
&&
!
cp
->
MergeOutput
)
{
kwsysProcessCleanupDescriptor
(
&
si
.
StdErr
);
}
...
...
Source/kwsys/ProcessWin32.c
View file @
31c218e6
...
...
@@ -226,6 +226,9 @@ struct kwsysProcess_s
/* Whether to treat command lines as verbatim. */
int
Verbatim
;
/* Whether to merge stdout/stderr of the child. */
int
MergeOutput
;
/* Mutex to protect the shared index used by threads to report data. */
HANDLE
SharedIndexMutex
;
...
...
@@ -806,6 +809,7 @@ int kwsysProcess_GetOption(kwsysProcess* cp, int optionId)
{
case
kwsysProcess_Option_Detach
:
return
cp
->
OptionDetach
;
case
kwsysProcess_Option_HideWindow
:
return
cp
->
HideWindow
;
case
kwsysProcess_Option_MergeOutput
:
return
cp
->
MergeOutput
;
case
kwsysProcess_Option_Verbatim
:
return
cp
->
Verbatim
;
default:
return
0
;
}
...
...
@@ -823,6 +827,7 @@ void kwsysProcess_SetOption(kwsysProcess* cp, int optionId, int value)
{
case
kwsysProcess_Option_Detach
:
cp
->
OptionDetach
=
value
;
break
;
case
kwsysProcess_Option_HideWindow
:
cp
->
HideWindow
=
value
;
break
;
case
kwsysProcess_Option_MergeOutput
:
cp
->
MergeOutput
=
value
;
break
;
case
kwsysProcess_Option_Verbatim
:
cp
->
Verbatim
=
value
;
break
;
default:
break
;
}
...
...
@@ -1086,7 +1091,7 @@ void kwsysProcess_Execute(kwsysProcess* cp)
nextStdInput
=
p
[
0
];
si
.
hStdOutput
=
p
[
1
];
}
si
.
hStdError
=
cp
->
PipeChildStd
[
2
];
si
.
hStdError
=
cp
->
MergeOutput
?
cp
->
PipeChildStd
[
1
]
:
cp
->
PipeChildStd
[
2
];
{
int
res
=
kwsysProcessCreate
(
cp
,
i
,
&
si
);
...
...
@@ -1100,7 +1105,7 @@ void kwsysProcess_Execute(kwsysProcess* cp)
{
kwsysProcessCleanupHandle
(
&
si
.
hStdOutput
);
}
if
(
si
.
hStdError
!=
cp
->
PipeChildStd
[
2
])
if
(
si
.
hStdError
!=
cp
->
PipeChildStd
[
2
]
&&
!
cp
->
MergeOutput
)
{
kwsysProcessCleanupHandle
(
&
si
.
hStdError
);
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment