Ignore:
Timestamp:
Feb 25, 2010, 10:20:41 AM (15 years ago)
Author:
[email protected]
Message:

Reverting to re-submit with better change log.

  • 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):

File:
1 edited

Legend:

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

    r55234 r55246  
    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.