don't remove the child on wait/kill

- important for wait with timout(0) as we may want to try again until the process has realy exited.

- make process_release release the process instead
This commit is contained in:
Bennet Bleßmann
2025-07-21 00:06:03 +02:00
parent 7f233da10c
commit ca52c65902
4 changed files with 45 additions and 14 deletions

View File

@@ -4811,6 +4811,14 @@ impl Machine {
try_or_throw!(self.machine_st, self.process_kill());
step_or_fail!(self, self.machine_st.p = self.machine_st.cp);
}
&Instruction::CallProcessRelease => {
try_or_throw!(self.machine_st, self.process_release());
step_or_fail!(self, self.machine_st.p += 1);
}
&Instruction::ExecuteProcessRelease => {
try_or_throw!(self.machine_st, self.process_release());
step_or_fail!(self, self.machine_st.p = self.machine_st.cp);
}
&Instruction::CallPid => {
self.pid();
step_or_fail!(self, self.machine_st.p += 1);