summaryrefslogtreecommitdiff
path: root/job.h
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2013-09-21 15:23:05 -0400
committerPaul Smith <psmith@gnu.org>2013-09-21 17:08:42 -0400
commit9cd01958da86a68d0e47defcb9745ab373ef3d79 (patch)
treec43410ce8ab951afa22d6a17f68c5c84ea656025 /job.h
parent4120f91846f781ead7350f86c9614a19824450f5 (diff)
downloadgunmake-9cd01958da86a68d0e47defcb9745ab373ef3d79.tar.gz
Ensure that stderr from shell functions in recipes is synced.
Diffstat (limited to 'job.h')
-rw-r--r--job.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/job.h b/job.h
index 967fa2b..c9cb7fa 100644
--- a/job.h
+++ b/job.h
@@ -123,10 +123,17 @@ char **construct_command_argv (char *line, char **restp, struct file *file,
int cmd_flags, char** batch_file);
#ifdef VMS
int child_execute_job (char *argv, struct child *child);
-#elif defined(__EMX__)
-int child_execute_job (int stdin_fd, int stdout_fd, char **argv, char **envp);
#else
-void child_execute_job (int stdin_fd, int stdout_fd, char **argv, char **envp);
+# define FD_STDIN (fileno (stdin))
+# define FD_STDOUT (fileno (stdout))
+# define FD_STDERR (fileno (stderr))
+# if defined(__EMX__)
+int child_execute_job (int stdin_fd, int stdout_fd, int stderr_fd,
+ char **argv, char **envp)
+# else
+void child_execute_job (int stdin_fd, int stdout_fd, int stderr_fd,
+ char **argv, char **envp) __attribute__ ((noreturn));
+# endif
#endif
#ifdef _AMIGA
void exec_command (char **argv) __attribute__ ((noreturn));