예제 #1
0
파일: Thread.cpp 프로젝트: bachase/rippled
//==============================================================================
void Thread::threadEntryPoint()
{
    if (!threadName.empty ())
        setCurrentThreadName (threadName);

    if (startSuspensionEvent.wait (10000))
        run();

    closeThreadHandle();
}
예제 #2
0
파일: Thread.cpp 프로젝트: 619213152/vpal20
void Thread::threadEntryPoint()
{
    const CurrentThreadHolder::Ptr currentThreadHolder (getCurrentThreadHolder());
    currentThreadHolder->value = this;

    if (threadName.isNotEmpty())
        setCurrentThreadName (threadName);

    if (startSuspensionEvent.wait (10000))
    {
        bassert (getCurrentThreadId() == threadId);

        if (affinityMask != 0)
            setCurrentThreadAffinityMask (affinityMask);

        run();
    }

    currentThreadHolder->value.releaseCurrentThreadStorage();
    closeThreadHandle();
}