diff options
Diffstat (limited to 'src/os_unix.c')
-rw-r--r-- | src/os_unix.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/os_unix.c b/src/os_unix.c index f8cf691d1..57eb05066 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -5138,7 +5138,8 @@ mch_start_job(char **argv, job_T *job, jobopt_T *options UNUSED) if (pid == 0) { - int null_fd = -1; + int null_fd = -1; + int stderr_works = TRUE; /* child */ reset_signals(); /* handle signals normally */ @@ -5175,6 +5176,7 @@ mch_start_job(char **argv, job_T *job, jobopt_T *options UNUSED) { close(2); ignored = dup(null_fd); + stderr_works = FALSE; } else if (use_out_for_err) { @@ -5210,7 +5212,8 @@ mch_start_job(char **argv, job_T *job, jobopt_T *options UNUSED) /* See above for type of argv. */ execvp(argv[0], argv); - // perror("executing job failed"); + if (stderr_works) + perror("executing job failed"); _exit(EXEC_FAILED); /* exec failed, return failure code */ } |