diff options
| -rw-r--r-- | library/std/src/sys/thread_local/mod.rs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/library/std/src/sys/thread_local/mod.rs b/library/std/src/sys/thread_local/mod.rs index a009ad5c33f..f74fd828cbe 100644 --- a/library/std/src/sys/thread_local/mod.rs +++ b/library/std/src/sys/thread_local/mod.rs @@ -83,8 +83,18 @@ mod guard { pub(super) use windows::enable; } else if #[cfg(any( all(target_family = "wasm", target_feature = "atomics"), - target_os = "hermit", ))] { + pub(super) fn enable() { + // FIXME: Right now there is no concept of "thread exit", but + // this is likely going to show up at some point in the form of + // an exported symbol that the wasm runtime is going to be + // expected to call. For now we just leak everything, but if + // such a function starts to exist it will probably need to + // iterate the destructor list with this function: + #[allow(unused)] + use super::destructors::run; + } + } else if #[cfg(target_os = "hermit")] { pub(super) fn enable() {} } else if #[cfg(target_os = "solid_asp3")] { mod solid; @@ -105,7 +115,11 @@ mod guard { pub(crate) mod key { cfg_if::cfg_if! { if #[cfg(any( - all(not(target_vendor = "apple"), target_family = "unix"), + all( + not(target_vendor = "apple"), + not(target_family = "wasm"), + target_family = "unix", + ), target_os = "teeos", ))] { mod racy; |
