Beispiel #1
0
bool wxThreadModule::OnInit()
{
    bool hasThreadManager =
#ifdef __LP64__
        true ; // TODO VERIFY IN NEXT BUILD
#else
        MPLibraryIsLoaded();
#endif

    if ( !hasThreadManager )
    {
        wxLogError( wxT("MP thread support is not available on this system" ) ) ;

        return false;
    }

    // main thread's This() is NULL
    verify_noerr( MPAllocateTaskStorageIndex( &gs_tlsForWXThread ) ) ;
    verify_noerr( MPSetTaskStorageValue( gs_tlsForWXThread, 0 ) ) ;

    wxThread::ms_idMainThread = wxThread::GetCurrentId();
    gs_critsectWaitingForGui = new wxCriticalSection();

    gs_critsectGui = new wxCriticalSection();
    gs_critsectGui->Enter();

    return true;
}
 MacThreadLocalImpl::MacThreadLocalImpl() : mTaskIndex(0)
 {
    MPAllocateTaskStorageIndex(&mTaskIndex);
 }