| Age | Commit message (Collapse) | Author | 
|---|
|  | LLThread::currentID() used to return a U32, a distinct unsigned value
incremented by explicitly constructing LLThread or by calling LLThread::
registerThreadID() early in a thread launched by other means. The latter
imposed an unobvious requirement on new code based on std::thread. Using
std::thread::id instead delegates to the compiler/library the problem of
distinguishing threads launched by any means.
Change lots of explicit U32 declarations. Introduce LLThread::id_t typedef to
avoid having to run around fixing uses again if we later revisit this decision.
LLMutex, which stores an LLThread::id_t, wants a distinguished value meaning
NO_THREAD, and had an enum with that name. But as std::thread::id promises
that the default-constructed value is distinct from every valid value,
NO_THREAD becomes unnecessary and goes away.
Because LLMutex now stores LLThread::id_t instead of U32, make llmutex.h
#include "llthread.h" instead of the other way around. This makes LLMutex an
incomplete type within llthread.h, so move LLThread::lockData() and
unlockData() to the .cpp file. Similarly, remove llrefcount.h's #include
"llmutex.h" to break circularity; instead forward-declare LLMutex.
It turns out that a number of source files assumed that #include "llthread.h"
would get the definition for LLMutex. Sprinkle #include "llmutex.h" as needed.
In the SAFE_SSL code in llcorehttp/httpcommon.cpp, there's an ssl_thread_id()
callback that returns an unsigned long to the SSL library. When LLThread::
currentID() was U32, we could simply return that. But std::thread::id is very
deliberately opaque, and can't be reinterpret_cast to unsigned long.
Fortunately it can be hashed because std::hash is specialized with that type. | 
|  |  | 
|  |  | 
|  |  | 
|  | - Added clear() after DeletePointer() call to hopfully fix this... | 
|  | replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc. | 
|  | console
added percentage/ratio units
added auto-range and auto tick calculation to stat bar to automate display stats | 
|  |  | 
|  |  | 
|  | made fast timer stack thread local
added LLThreadLocalSingleton
made LLThreadLocalPointer obey pointer rules for const
added LLThreadLocalSingletonPointer for fast thread local pointers | 
|  |  | 
|  | and LLBufferArray::copyIntoBuffers | 
|  |  | 
|  | svn+ssh://svn/svn/user/phoenix/license_2009_merge into trunk. QAR-1165 | 
|  | svn+ssh://svn/svn/linden/branches/new-license into release. only changes files which are not deployed or the comments section of code. | 
|  | svn+ssh://svn/svn/linden/branches/discard-garbage into release | 
|  | svn+ssh://svn/svn/linden/branches/adroit.r40-68 into release. | 
|  |  |