init_eager_tls

Function init_eager_tls 

Source
pub fn init_eager_tls()
Expand description

Run all deferred TLS initializers and clear the registry.

This drains the internal queue of initializer functions and invokes each exactly once. The use of std::mem::take ensures:

  • the vector is fully emptied before we run any initializers
  • we drop the borrow before calling user code (prevents borrow panics)
  • functions cannot be re-run accidentally
  • reentrant modifications of the queue become visible after this call

This should be invoked before any IC canister lifecycle hooks (init, update, heartbeat, etc.) so that thread-local caches are in a fully-initialized state before the canister performs memory-dependent work.