wasmer_wasix/syscalls/journal/actions/
process_exit.rs

1use 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}