Kaynağa Gözat

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 yıl önce
ebeveyn
işleme
efb14e95c4
1 değiştirilmiş dosya ile 6 ekleme ve 4 silme
  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");
 
         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);
         }
     }