mirror of
https://github.com/RGBCube/serenity
synced 2025-05-19 00:35:06 +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