wasmer_wasix/syscalls/journal/actions/
process_exit.rs1use super::*;
2
3impl<'a> JournalSyscallPlayer<'a, '_> {
4 #[allow(clippy::result_large_err)]
5 pub(crate) unsafe fn action_process_exit(
6 &mut self,
7 exit_code: Option<ExitCode>,
8 differ_ethereal: Option<&mut Vec<JournalEntry<'a>>>,
9 ) -> Result<(), WasiRuntimeError> {
10 tracing::trace!(?exit_code, "Replay journal - ProcessExit");
11 if self.bootstrapping {
12 self.clear_ethereal(differ_ethereal);
13 self.differ_memory.clear();
14 self.rewind = None;
15 } else {
16 unsafe { JournalEffector::apply_process_exit(&mut self.ctx, exit_code) }
17 .map_err(anyhow_err_to_runtime_err)?;
18 }
19 Ok(())
20 }
21}