Skip to main content

FUNCSTACK

Static FUNCSTACK 

Source
pub static FUNCSTACK: ThreadMutex<Vec<funcstack>>
Expand description

FUNCSTACK static.

Storage is crate::thread_shell_state::ThreadMutex, not a plain Mutex. C’s funcstack (Src/exec.c:340) is the call chain of the ONE thread of execution, and it is what $funcstack, $functrace, $funcfiletrace and $funcsourcetrace report (c:Src/Modules/ parameter.c:650/681). zshrs runs async_precmd hook functions on a pool worker and the completer tree on compsys::in_editor’s own thread, each of which pushes a doshfunc frame (exec.rs, c:6210) — so with one shared Vec the shell thread’s $funcstack grew frames for functions it never called. ThreadMutex keeps the lock() API, so every reader below is unchanged.