forked from Bananymous/banan-os
Kernel: Process keeps track if forked process has called exec*()
This commit is contained in:
parent
97ea4986af
commit
f1ba5c7e0f
|
@ -180,6 +180,8 @@ namespace Kernel
|
|||
userspace_info_t m_userspace_info;
|
||||
ExitStatus m_exit_status;
|
||||
|
||||
bool m_has_called_exec { false };
|
||||
|
||||
BAN::UniqPtr<PageTable> m_page_table;
|
||||
BAN::RefPtr<TTY> m_controlling_terminal;
|
||||
|
||||
|
|
|
@ -381,6 +381,7 @@ namespace Kernel
|
|||
forked->m_general_allocator = BAN::move(general_allocator);
|
||||
forked->m_is_userspace = m_is_userspace;
|
||||
forked->m_userspace_info = m_userspace_info;
|
||||
forked->m_has_called_exec = false;
|
||||
memcpy(forked->m_signal_handlers, m_signal_handlers, sizeof(m_signal_handlers));
|
||||
|
||||
ASSERT(this == &Process::current());
|
||||
|
@ -586,6 +587,8 @@ namespace Kernel
|
|||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
}
|
||||
|
||||
m_has_called_exec = true;
|
||||
}
|
||||
|
||||
BAN::ErrorOr<long> Process::sys_open(BAN::StringView path, int flags, mode_t mode)
|
||||
|
|
Loading…
Reference in New Issue