summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/process/process.c5
-rw-r--r--lib/process/process.h1
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/process/process.c b/lib/process/process.c
index 1a16fb6..3c81b29 100644
--- a/lib/process/process.c
+++ b/lib/process/process.c
@@ -125,7 +125,10 @@ static void process_setup_stdout_child(struct process_info *procinfo)
else
dup2(log, STDOUT_FILENO);
- dup2(log, STDERR_FILENO);
+ if (procinfo->process.keep_stdout && procinfo->process.add_stderr)
+ dup2(procinfo->stdout_pipe[1], STDERR_FILENO);
+ else
+ dup2(log, STDERR_FILENO);
}
static void process_finish_stdout(struct process_info *procinfo)
diff --git a/lib/process/process.h b/lib/process/process.h
index caeda92..ae7fe32 100644
--- a/lib/process/process.h
+++ b/lib/process/process.h
@@ -31,6 +31,7 @@ struct process {
const char *path;
const char **argv;
bool keep_stdout;
+ bool add_stderr;
process_exit_cb exit_cb;
void *data;
OpenPOWER on IntegriCloud