Age | Commit message (Collapse) | Author |
|
Introduce LLSingleton::cleanupSingleton() canonical method as the place to put
any subclass cleanup logic that might take nontrivial realtime or throw an
exception. Neither is appropriate in a destructor.
Track all extant LLSingleton subclass instances on a master list, which
permits adding LLSingletonBase::cleanupAll() and deleteAll() methods.
Also notice when any LLSingleton subclass constructor (or initSingleton()
method) calls instance() or getInstance() for another LLSingleton, and capture
that other LLSingleton instance as a dependency of the first. This permits
cleanupAll() and deleteAll() to perform a dependency sort on the master list,
thus cleaning up (or deleting) leaf LLSingletons AFTER the LLSingletons that
depend on them.
Make C++ runtime's final static destructor call LLSingletonBase::deleteAll()
instead of deleting individual LLSingleton instances in arbitrary order.
Eliminate "llerror.h" from llsingleton.h, a longstanding TODO.
|
|
|
|
Remove evil getIfExists() method, used by no one.
Remove evil destroyed() method, used in exactly three places -- one of which
is a test. Replace with equally evil instanceExists() method, which is used
EVERYWHERE -- sigh.
|
|
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
|
|
|
|
|
|
added comments to llsingleton.h
|
|
fixed singleton unit test
resurrecting a singleton now properly calls initSingleton()
|
|
more singleton cleanup to eliminate crashes on startup/exit
|
|
fixed Mac crash related to non-reentrant singleton constructor
|
|
fixed Mac crash related to non-reentrant singleton constructor
|
|
|
|
|
|
potential fix for crasher
cleaned up llsingleton
|
|
|
|
made fast timer stack thread local
added LLThreadLocalSingleton
made LLThreadLocalPointer obey pointer rules for const
added LLThreadLocalSingletonPointer for fast thread local pointers
|
|
* Removed check_curl_code and check_curl_multi_code from the global namespace.
* Added comments documenting which thread the public methods of LLProxy should be called from.
* Corrected grammar in LLSingleton.h
* Fixed a buffer scope problem in llpacketring.cpp.
|
|
Added a simple unit test to verify the functionality of the deleteSingleton method.
|
|
LLProxy::applyProxySettings()
|
|
|
|
Also replaced many duplicate calls to LLViewerCamera::getInstance() with local pointer.
Reviewed with Ambroff
|
|
rely on static initialization order.
reviewed by nat.
|
|
|
|
Singletons now keep their SingletonInstaceData in a big global map in the llcommon module.
|
|
svn+ssh://svn.lindenlab.com/svn/linden/branches/skinning/skinning-18 into svn+ssh://svn.lindenlab.com/svn/linden/branches/viewer/viewer-2.0.0-3
|
|
ignore-dead-branch
|