浏览代码

Shell: Don't whine about tcsetpgrp() failing

We intentionally skimp out on checking isatty() before them to cut down
on syscalls, so we should also accept the errors and just let them be.
Closes #6471.
Ali Mohammad Pur 4 年之前
父节点
当前提交
efb14e95c4
共有 1 个文件被更改,包括 6 次插入4 次删除
  1. 6 4
      Userland/Shell/Shell.cpp

+ 6 - 4
Userland/Shell/Shell.cpp

@@ -822,10 +822,12 @@ RefPtr<Job> Shell::run_command(const AST::Command& command)
             perror("setpgid");
             perror("setpgid");
 
 
         if (!m_is_subshell) {
         if (!m_is_subshell) {
-            if (tcsetpgrp(STDOUT_FILENO, pgid) != 0 && m_is_interactive)
-                perror("tcsetpgrp(OUT)");
-            if (tcsetpgrp(STDIN_FILENO, pgid) != 0 && m_is_interactive)
-                perror("tcsetpgrp(IN)");
+            // There's no reason to care about the errors here
+            // either we're in a tty, we're interactive, and this works
+            // or we're not, and it fails - in which case, we don't need
+            // stdin/stdout handoff to child processes anyway.
+            tcsetpgrp(STDOUT_FILENO, pgid);
+            tcsetpgrp(STDIN_FILENO, pgid);
         }
         }
     }
     }