Skip to content
Snippets Groups Projects
  • Nat Goodspeed's avatar
    90f42498
    MAINT-5232: Make LLSingleton's 'initializing' stack coro-specific. · 90f42498
    Nat Goodspeed authored
    The stack we maintain of which LLSingletons are currently initializing only
    makes sense when associated with a particular C++ call stack. But each
    coroutine introduces another C++ call stack!
    
    Move the initializing stack from function-static storage to
    LLSingletonBase::MasterList. Make it a map keyed by llcoro::id. Each coro then
    has a stack of its own.
    
    This introduces more dependencies on the MasterList singleton, requiring
    additional LLSingleton_manage_master workarounds.
    90f42498
    History
    MAINT-5232: Make LLSingleton's 'initializing' stack coro-specific.
    Nat Goodspeed authored
    The stack we maintain of which LLSingletons are currently initializing only
    makes sense when associated with a particular C++ call stack. But each
    coroutine introduces another C++ call stack!
    
    Move the initializing stack from function-static storage to
    LLSingletonBase::MasterList. Make it a map keyed by llcoro::id. Each coro then
    has a stack of its own.
    
    This introduces more dependencies on the MasterList singleton, requiring
    additional LLSingleton_manage_master workarounds.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.