← Commit list

41ddecd9e

Denis Vlasenko
Denis Vlasenko
2009-04-15
FAILED Duration: 35s

Subject

hush: fix heredoc_huge.tests broken in last commits

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

shell/hush.c+4 -1
@@ -2461,11 +2461,15 @@ static void setup_heredoc(struct redir_struct *redir)
* for the unsuspecting parent process. Child creates a grandchild
* and exits before parent execs the process which consumes heredoc
* (that exec happens after we return from this function) */
+#if !BB_MMU
+ to_free = NULL;
+#endif
pid = vfork();
if (pid < 0)
bb_perror_msg_and_die("vfork");
if (pid == 0) {
/* child */
+ disable_restore_tty_pgrp_on_exit();
pid = BB_MMU ? fork() : vfork();
if (pid < 0)
bb_perror_msg_and_die(BB_MMU ? "fork" : "vfork");
@@ -2478,7 +2482,6 @@ static void setup_heredoc(struct redir_struct *redir)
_exit(0);
#else
/* Delegate blocking writes to another process */
- disable_restore_tty_pgrp_on_exit();
xmove_fd(pair.wr, STDOUT_FILENO);
re_execute_shell(&to_free, heredoc, NULL, NULL);
#endif