Shell: Make a new session at start if there's no active session

This commit is contained in:
AnotherTest 2020-09-18 11:22:25 +04:30 committed by Andreas Kling
parent 21f513fe0f
commit a43d9c4fe0
Notes: sideshowbarker 2024-07-19 02:20:34 +09:00
2 changed files with 11 additions and 2 deletions

View file

@ -733,8 +733,10 @@ RefPtr<Job> Shell::run_command(const AST::Command& command)
perror("setpgid");
if (!m_is_subshell) {
tcsetpgrp(STDOUT_FILENO, pgid);
tcsetpgrp(STDIN_FILENO, pgid);
if (tcsetpgrp(STDOUT_FILENO, pgid) != 0)
perror("tcsetpgrp(OUT)");
if (tcsetpgrp(STDIN_FILENO, pgid) != 0)
perror("tcsetpgrp(IN)");
}
}

View file

@ -209,6 +209,13 @@ int main(int argc, char** argv)
parser.parse(argc, argv);
if (getsid(getpid()) == 0) {
if (setsid() < 0) {
perror("setsid");
// Let's just hope that it's ok.
}
}
shell->current_script = argv[0];
if (!skip_rc_files) {