44 if (_joining_fiber !=
nullptr && _thread_alive) {
59 _thread_alive =
false;
67 auto it = _tls.find(
id);
68 if (
it == _tls.end()) {
Allocator used by default.
void SwitchTo(ExecutionContext &other)
void Exit(ExecutionContext &other)
void SetState(FiberState state) noexcept
FiberState GetState() noexcept
bool IsThreadAlive() const noexcept
void SetThreadDead() noexcept
void SetJoiningFiber(FiberBase *joining_fiber) noexcept
ExecutionContext _context
Id GetId() const noexcept
void SetTLS(std::uint64_t id, void *value)
static IStackAllocator & GetAllocator() noexcept
std::exception_ptr _exception
void * GetTLS(std::uint64_t id, std::unordered_map< std::uint64_t, void * > &defaults)
Passed to coroutine/fiber constructor, specifies the way in which memory for Stack is Allocated and R...
static DefaultAllocator sAllocator
void ScheduleFiber(FiberBase *fiber)
static FiberBase::Id sNextId
Contract< V, E > MakeContract()
Creates related future and promise.