mirror of
https://github.com/RGBCube/serenity
synced 2025-10-29 23:32:08 +00:00
Shell: Set subshell flag after checking for its value in parent shell
This also reverts commit 07cc7eed29, as
that attempted to fix the issue this caused (and succeeded...but it
broke something else on linux).
This commit is contained in:
parent
4458cc249e
commit
7ac8bd44f8
1 changed files with 2 additions and 4 deletions
|
|
@ -568,12 +568,9 @@ int Shell::run_command(StringView cmd, Optional<SourcePosition> source_position_
|
|||
}
|
||||
|
||||
tcgetattr(0, &termios);
|
||||
tcsetattr(0, TCSANOW, &default_termios);
|
||||
|
||||
(void)command->run(*this);
|
||||
|
||||
tcsetattr(0, TCSANOW, &termios);
|
||||
|
||||
if (!has_error(ShellError::None)) {
|
||||
possibly_print_error();
|
||||
take_error();
|
||||
|
|
@ -743,7 +740,6 @@ RefPtr<Job> Shell::run_command(const AST::Command& command)
|
|||
if (child == 0) {
|
||||
close(sync_pipe[1]);
|
||||
|
||||
m_is_subshell = true;
|
||||
m_pid = getpid();
|
||||
Core::EventLoop::notify_forked(Core::EventLoop::ForkEvent::Child);
|
||||
TemporaryChange signal_handler_install { m_should_reinstall_signal_handlers, true };
|
||||
|
|
@ -769,6 +765,8 @@ RefPtr<Job> Shell::run_command(const AST::Command& command)
|
|||
if (!m_is_subshell && command.should_wait)
|
||||
tcsetattr(0, TCSANOW, &default_termios);
|
||||
|
||||
m_is_subshell = true;
|
||||
|
||||
if (command.should_immediately_execute_next) {
|
||||
VERIFY(command.argv.is_empty());
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue