mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-03 23:25:20 +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:
committed by
Ali Mohammad Pur
parent
4458cc249e
commit
7ac8bd44f8
@@ -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());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user