more fixes for unit test crashes
added llcommon initialization/teardown for unit tests
that indirectly trigger lltrace
changed access of atomic refcount to use preincrement/decrement
operators to reflect desired semantics
always call apr_initialize in LLCommon::initClass, even
if already initialized...apr does internal reference counting
to keep things straight
fix for unit test failures...cleanup apr without destroying
pools, allowing LLProxy to clean itself up as a singleton (and
avoiding spurious dependencies associated with manually destorying
singletons that rely on apr pools)
attempted fix for gcc compile errors
can't use typeid() on a class that doesn't have a method
defined in a translation unit
fix is to force classes deriving from LLMemTrackable to
use their own static member named sMemStat
made fast timer stack thread local
added LLThreadLocalSingleton
made LLThreadLocalPointer obey pointer rules for const
added LLThreadLocalSingletonPointer for fast thread local pointers
llhttpclient_test.cpp is only supposed to be run by test_llsdmessage_peer.py,
as specified in llmessage/CMakeLists.txt. test_llsdmessage_peer.py sets the
environment variable PORT before running INTEGRATION_TEST_llhttpclient. While
it's not yet clear under what circumstances INTEGRATION_TEST_llhttpclient
could find PORT not set (getenv() returning NULL), it's obvious that in that
case, the previous code might well crash. Make it at least fail with an
explanatory message rather than a mysterious large negative integer. In
theory, occurrences of that message could help us solve the underlying issue.
improvements on lifetime of lltrace core data structures
tweaks to thread local pointer handling so that static constructors/destructors
can safely call functions that use lltrace