diff options
Diffstat (limited to 'library/std/src/sys/hermit/mod.rs')
| -rw-r--r-- | library/std/src/sys/hermit/mod.rs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/library/std/src/sys/hermit/mod.rs b/library/std/src/sys/hermit/mod.rs index 56497162c03..a70d1db7ca6 100644 --- a/library/std/src/sys/hermit/mod.rs +++ b/library/std/src/sys/hermit/mod.rs @@ -37,7 +37,6 @@ pub mod pipe; #[path = "../unsupported/process.rs"] pub mod process; pub mod rwlock; -pub mod stack_overflow; pub mod stdio; pub mod thread; pub mod thread_local_dtor; @@ -96,9 +95,17 @@ pub extern "C" fn __rust_abort() { abort_internal(); } -#[cfg(not(test))] -pub fn init() { +// SAFETY: must be called only once during runtime initialization. +// NOTE: this is not guaranteed to run, for example when Rust code is called externally. +pub unsafe fn init(argc: isize, argv: *const *const u8) { let _ = net::init(); + args::init(argc, argv); +} + +// SAFETY: must be called only once during runtime cleanup. +// NOTE: this is not guaranteed to run, for example when the program aborts. +pub unsafe fn cleanup() { + args::cleanup(); } #[cfg(not(test))] |
