Ignore:
Timestamp:
Mar 2, 2010, 2:21:37 PM (15 years ago)
Author:
[email protected]
Message:

2010-03-02 Jeremy Orlow <[email protected]>

Reviewed by David Levin.

Revert database thread changes that are no longer required
https://bugs.webkit.org/show_bug.cgi?id=35519

Jochen Eisinger created 55214 and 55247 to track which database
owns which thread. Dmitry suggested that this could also
be done via TLS, though. After exploring the options, Jochen
chose to go the TLS route, so these patches are no longer needed.

  • wtf/Threading.h:
  • wtf/ThreadingNone.cpp: (WTF::isMainThread):
  • wtf/ThreadingPthreads.cpp: (WTF::identifierByPthreadHandle): (WTF::establishIdentifierForPthreadHandle): (WTF::pthreadHandleForIdentifier): (WTF::createThreadInternal): (WTF::currentThread):
  • wtf/ThreadingWin.cpp: (WTF::threadMap): (WTF::storeThreadHandleByIdentifier): (WTF::threadHandleForIdentifier): (WTF::createThreadInternal):

2010-03-02 Jeremy Orlow <[email protected]>

Reviewed by David Levin.

Revert database thread changes that are no longer required
https://bugs.webkit.org/show_bug.cgi?id=35519

Jochen Eisinger created 55214 and 55247 to track which database
owns which thread. Dmitry suggested that this could also
be done via TLS, though. After exploring the options, Jochen
chose to go the TLS route, so these patches are no longer needed.

  • storage/DatabaseThread.cpp: (WebCore::DatabaseThread::DatabaseThread): (WebCore::DatabaseThread::databaseThread):
  • storage/DatabaseThread.h: (WebCore::DatabaseThread::getThreadID):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/wtf/ThreadingPthreads.cpp

    r55247 r55429  
    5454namespace WTF {
    5555
    56 typedef struct {
    57     pthread_t handle;
    58     void* context;
    59 } ThreadInfo;
    60 
    61 typedef HashMap<ThreadIdentifier, ThreadInfo> ThreadMap;
     56typedef HashMap<ThreadIdentifier, pthread_t> ThreadMap;
    6257
    6358static Mutex* atomicallyInitializedStaticMutex;
     
    111106    ThreadMap::iterator i = threadMap().begin();
    112107    for (; i != threadMap().end(); ++i) {
    113         if (pthread_equal(i->second.handle, pthreadHandle))
     108        if (pthread_equal(i->second, pthreadHandle))
    114109            return i->first;
    115110    }
     
    118113}
    119114
    120 static ThreadIdentifier establishIdentifierForPthreadHandle(const pthread_t& pthreadHandle, void* context)
     115static ThreadIdentifier establishIdentifierForPthreadHandle(const pthread_t& pthreadHandle)
    121116{
    122117    ASSERT(!identifierByPthreadHandle(pthreadHandle));
     
    126121    static ThreadIdentifier identifierCount = 1;
    127122
    128     ThreadInfo info;
    129     info.handle = pthreadHandle;
    130     info.context = context;
    131     threadMap().add(identifierCount, info);
     123    threadMap().add(identifierCount, pthreadHandle);
    132124
    133125    return identifierCount++;
     
    138130    MutexLocker locker(threadMapMutex());
    139131
    140     return threadMap().get(id).handle;
    141 }
    142 
    143 static void* contextForIdentifier(ThreadIdentifier id)
    144 {
    145     MutexLocker locker(threadMapMutex());
    146 
    147     return threadMap().get(id).context;
    148 }
    149 
     132    return threadMap().get(id);
     133}
    150134
    151135void clearPthreadHandleForIdentifier(ThreadIdentifier id)
     
    191175        return 0;
    192176    }
    193     return establishIdentifierForPthreadHandle(threadHandle, data);
     177    return establishIdentifierForPthreadHandle(threadHandle);
    194178}
    195179#else
     
    202186    }
    203187
    204     return establishIdentifierForPthreadHandle(threadHandle, data);
     188    return establishIdentifierForPthreadHandle(threadHandle);
    205189}
    206190#endif
     
    252236
    253237    // Not a WTF-created thread, ThreadIdentifier is not established yet.
    254     id = establishIdentifierForPthreadHandle(pthread_self(), 0);
     238    id = establishIdentifierForPthreadHandle(pthread_self());
    255239    ThreadIdentifierData::initialize(id);
    256240    return id;
     
    266250}
    267251
    268 void* threadContext(ThreadIdentifier id)
    269 {
    270     return contextForIdentifier(id);
    271 }
    272 
    273252Mutex::Mutex()
    274253{
Note: See TracChangeset for help on using the changeset viewer.