Ejemplo n.º 1
0
static void clearThreadForIdentifier(ThreadIdentifier id)
{
    MutexLocker locker(threadMapMutex());

    ASSERT(threadMap().contains(id));

    threadMap().remove(id);
}
Ejemplo n.º 2
0
void initializeThreading()
{
    if (!atomicallyInitializedStaticMutex) {
        atomicallyInitializedStaticMutex = new Mutex;
        threadMapMutex();
        wtf_random_init();
        mainThreadIdentifier = currentThread();
    }
}
void initializeThreading()
{
    if (atomicallyInitializedStaticMutex)
        return;

    atomicallyInitializedStaticMutex = new Mutex;
    threadMapMutex();
    initializeRandomNumberGenerator();
}
Ejemplo n.º 4
0
void initializeThreading()
{
    if (!atomicallyInitializedStaticMutex) {
        atomicallyInitializedStaticMutex = new Mutex;
        threadMapMutex();
        initializeRandomNumberGenerator();
        mainThreadIdentifier = currentThread();
    }
}
Ejemplo n.º 5
0
static ThreadIdentifier establishIdentifierForPthreadHandle(pthread_t& pthreadHandle)
{
    MutexLocker locker(threadMapMutex());

    static ThreadIdentifier identifierCount = 1;

    threadMap().add(identifierCount, pthreadHandle);
    
    return identifierCount++;
}
Ejemplo n.º 6
0
void initializeThreading()
{
    if (!atomicallyInitializedStaticMutex) {
        atomicallyInitializedStaticMutex = new QMutex;
        threadMapMutex();
        QThread* mainThread = QCoreApplication::instance()->thread();
        mainThreadIdentifier = identifierByQthreadHandle(mainThread);
        if (!mainThreadIdentifier)
            mainThreadIdentifier = establishIdentifierForThread(mainThread);
    }
}
Ejemplo n.º 7
0
static void storeThreadHandleByIdentifier(DWORD threadID, HANDLE threadHandle)
{
	MutexLocker locker(threadMapMutex());
	ASSERT(!threadMap().contains(threadID));
	threadMap().add(threadID, threadHandle);

	//+EAWebKitChange
	//10/17/2011 - In storeThreadHandleByIdentifier, added code below.
	gThreadMapEmpty = false;
	//-EAWebKitChange
}
Ejemplo n.º 8
0
static ThreadIdentifier identifierByPthreadHandle(const pthread_t& pthreadHandle)
{
    MutexLocker locker(threadMapMutex());

    HashMap<ThreadIdentifier, pthread_t>::iterator i = threadMap().begin();
    for (; i != threadMap().end(); ++i) {
        if (pthread_equal(i->second, pthreadHandle))
            return i->first;
    }

    return 0;
}
Ejemplo n.º 9
0
void initializeThreading()
{
    if (!g_thread_supported())
        g_thread_init(NULL);
    ASSERT(g_thread_supported());

    if (!atomicallyInitializedStaticMutex) {
        atomicallyInitializedStaticMutex = new Mutex;
        threadMapMutex();
        initializeRandomNumberGenerator();
    }
}
Ejemplo n.º 10
0
static ThreadIdentifier identifierByGthreadHandle(GThread*& thread)
{
    MutexLocker locker(threadMapMutex());

    HashMap<ThreadIdentifier, GThread*>::iterator i = threadMap().begin();
    for (; i != threadMap().end(); ++i) {
        if (i->second == thread)
            return i->first;
    }

    return 0;
}
Ejemplo n.º 11
0
static ThreadIdentifier establishIdentifierForThread(GThread*& thread)
{
    ASSERT(!identifierByGthreadHandle(thread));

    MutexLocker locker(threadMapMutex());

    static ThreadIdentifier identifierCount = 1;

    threadMap().add(identifierCount, thread);

    return identifierCount++;
}
Ejemplo n.º 12
0
void initializeThreading()
{
    if (!atomicallyInitializedStaticMutex) {
        atomicallyInitializedStaticMutex = new Mutex;
        threadMapMutex();
        initializeRandomNumberGenerator();
#if !PLATFORM(DARWIN) || PLATFORM(CHROMIUM)
        mainThreadIdentifier = currentThread();
#endif
        initializeMainThread();
    }
}
Ejemplo n.º 13
0
static void clearThreadHandleForIdentifier(ThreadIdentifier id)
{
	MutexLocker locker(threadMapMutex());
	ASSERT(threadMap().contains(id));
	threadMap().remove(id);

	//+EAWebKitChange
	//10/17/2011 - In clearThreadHandleForIdentifier, added code below.
	if(threadMap().isEmpty())
		gThreadMapEmpty = true;
	//-EAWebKitChange

}
Ejemplo n.º 14
0
void initializeThreading()
{
    // This should only be called once.
    ASSERT(!atomicallyInitializedStaticMutex);

    // StringImpl::empty() does not construct its static string in a threadsafe fashion,
    // so ensure it has been initialized from here.
    StringImpl::empty();
    atomicallyInitializedStaticMutex = new Mutex;
    threadMapMutex();
    wtfThreadData();
    s_dtoaP5Mutex = new Mutex;
    initializeDates();
}
Ejemplo n.º 15
0
void initializeThreading()
{
    if (atomicallyInitializedStaticMutex)
        return;

    WTF::double_conversion::initialize();
    // StringImpl::empty() does not construct its static string in a threadsafe fashion,
    // so ensure it has been initialized from here.
    StringImpl::empty();
    atomicallyInitializedStaticMutex = new Mutex;
    threadMapMutex();
    initializeRandomNumberGenerator();
    wtfThreadData();
    s_dtoaP5Mutex = new Mutex;
    initializeDates();
}
Ejemplo n.º 16
0
void initializeThreading()
{
    static bool isInitialized;
    
    if (isInitialized)
        return;

    isInitialized = true;

    WTF::double_conversion::initialize();
    // StringImpl::empty() does not construct its static string in a threadsafe fashion,
    // so ensure it has been initialized from here.
    StringImpl::empty();
    threadMapMutex();
    initializeRandomNumberGenerator();
    wtfThreadData();
    initializeDates();
}
Ejemplo n.º 17
0
void initializeThreading()
{
    if (atomicallyInitializedStaticMutex)
        return;

    // StringImpl::empty() does not construct its static string in a threadsafe fashion,
    // so ensure it has been initialized from here.
    StringImpl::empty();
    atomicallyInitializedStaticMutex = new Mutex;
    threadMapMutex();
    initializeRandomNumberGenerator();
    ThreadIdentifierData::initializeOnce();
    wtfThreadData();
#if ENABLE(WTF_MULTIPLE_THREADS)
    s_dtoaP5Mutex = new Mutex;
    initializeDates();
#endif
}
Ejemplo n.º 18
0
static GThread* threadForIdentifier(ThreadIdentifier id)
{
    MutexLocker locker(threadMapMutex());

    return threadMap().get(id);
}
Ejemplo n.º 19
0
static HANDLE threadHandleForIdentifier(ThreadIdentifier id)
{
    MutexLocker locker(threadMapMutex());
    return threadMap().get(id);
}
Ejemplo n.º 20
0
static void storeThreadHandleByIdentifier(DWORD threadID, HANDLE threadHandle)
{
    MutexLocker locker(threadMapMutex());
    ASSERT(!threadMap().contains(threadID));
    threadMap().add(threadID, threadHandle);
}