MCPcopy Create free account
hub / github.com/beefytech/Beef / StartInternal

Method StartInternal

BeefRT/rt/Thread.cpp:203–220  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

201}
202
203void Thread::StartInternal()
204{
205 BfpSystem_InterlockedExchangeAdd32((uint32*)&gLiveThreadCount, 1);
206
207 BfInternalThread* internalThread = SetupInternalThread();
208
209 Beefy::AutoCrit autoCrit(internalThread->mCritSect);
210 internalThread->mStarted = true;
211 internalThread->mThread = this;
212#ifdef _WIN32
213 internalThread->mThreadHandle = BfpThread_Create(CStartProc, (void*)this, GetMaxStackSize(), (BfpThreadCreateFlags)(BfpThreadCreateFlag_StackSizeReserve | BfpThreadCreateFlag_Suspended), &internalThread->mThreadId);
214 SetInternalThread(internalThread);
215 BfpThread_Resume(internalThread->mThreadHandle, NULL);
216#else
217 internalThread->mThreadHandle = BfpThread_Create(CStartProc, (void*)this, GetMaxStackSize(), (BfpThreadCreateFlags)(BfpThreadCreateFlag_StackSizeReserve), &internalThread->mThreadId);
218 SetInternalThread(internalThread);
219#endif
220}
221
222void Thread::RequestExitNotify()
223{

Callers

nothing calls this directly

Calls 2

BfpThread_ResumeFunction · 0.50

Tested by

no test coverage detected