phoenix-firestorm/indra/llcommon
Nat Goodspeed bf9d67656f DRTVWR-418: Remove final shutdown cleanup as a cause of crashes.
The recent LLSingleton work added a hook that would run during the C++
runtime's final destruction of static objects. When the LAST LLSingleton in
any module was destroyed, its destructor would call
LLSingletonBase::deleteAll(). That mechanism was intended to permit an
application consuming LLSingletons to skip making an explicit deleteAll()
call, knowing that all instantiated LLSingleton instances would eventually be
cleaned up anyway.

However -- experience proves that kicking off deleteAll() processing during
the C++ runtime's final cleanup is too late. Too much has already been
destroyed. That call tends to cause more shutdown crashes than it resolves.

This commit deletes that whole mechanism. Going forward, if you want to clean
up LLSingleton instances, you must explicitly call
LLSingletonBase::deleteAll() during the application lifetime. If you don't,
LLSingleton instances will simply be leaked -- which might be okay,
considering the application is terminating anyway.
2017-04-24 16:36:54 -04:00
..
nd Add debug setting to disable log throttling 2016-05-14 13:09:40 +02:00
res
tests Linux buildfix; this should be reverted after gcc update to 4.7+ 2017-05-18 03:13:57 +03:00
CMakeLists.txt Merge viewer-bear 2017-05-18 08:55:43 +02:00
StackWalker.cpp SL-315 - verbose option for CallStack objects, doc headers in StackWalker.{h,cpp} 2016-01-28 10:40:38 -05:00
StackWalker.h SL-371 - increased the limit for StackWalker strings, avoid crashing if mesh has wrong number of mAlternateBindMatrix matrices 2016-04-20 13:18:56 -04:00
ctype_workaround.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
fix_macros.h Merge Firestorm LGPL 2016-04-05 10:47:23 +02:00
indra_constants.cpp Merge Firestorm LGPL 2016-05-23 16:09:09 +02:00
indra_constants.h Merge Firestorm LGPL 2016-05-23 16:09:09 +02:00
is_approx_equal_fraction.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
linden_common.h Merge Firestorm LGPL 2016-04-05 10:47:23 +02:00
llalignedarray.h
llallocator.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llallocator.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llallocator_heap_profile.cpp Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
llallocator_heap_profile.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llapp.cpp Merge viewer-neko 2017-09-07 21:49:12 +02:00
llapp.h Merge viewer-neko 2017-09-07 21:49:12 +02:00
llapr.cpp Merge viewer-bear 2016-06-16 00:05:04 +02:00
llapr.h Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
llassettype.cpp MAINT-7343 - added periodic logging of state of the asset store. 2017-04-26 12:39:14 -04:00
llassettype.h MAINT-7195 work (can't repro), removed UDP fetching path, handle more possible timing issues while connecting to region 2017-03-20 16:04:02 -04:00
llbase32.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llbase32.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llbase64.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llbase64.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llbitpack.cpp Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
llbitpack.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llboost.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llcallbacklist.cpp
llcallbacklist.h
llcallstack.cpp SL-315 - disable call stack dumping in release, where we don't have the info anyway. 2016-04-21 10:55:08 -04:00
llcallstack.h SL-315 WIP - more call stack tracing, initial hooks for avatar reset skeleton option. 2016-03-07 11:24:48 -05:00
llcleanup.cpp MAINT-5232: Abbreviate __FILE__ path in log_subsystem_cleanup(). 2016-09-02 14:03:28 -04:00
llcleanup.h MAINT-5232: Move "llerror.h" out of llcleanup.h, llinitdestroyclass.h 2016-08-30 16:28:21 -04:00
llclickaction.h
llcommon.cpp Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2016-08-30 11:36:06 -04:00
llcommon.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llcommonutils.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llcommonutils.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llcoro_get_id.cpp MAINT-5232: Break out LLCoros::get_id() into its own header file. 2016-09-03 12:04:36 -04:00
llcoro_get_id.h MAINT-5232: Break out LLCoros::get_id() into its own header file. 2016-09-03 12:04:36 -04:00
llcoros.cpp MAINT-5232: Merge up to VLC viewer from viewer-release 2016-10-11 10:59:17 -04:00
llcoros.h MAINT-5232: Normalize LLSingleton subclasses. 2016-09-15 20:18:12 -04:00
llcrc.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llcrc.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llcriticaldamp.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llcriticaldamp.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lldate.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lldate.h Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
lldeadmantimer.cpp
lldeadmantimer.h
lldefs.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lldependencies.cpp MAINT-5011: Use LLTHROW() instead of plain BOOST_THROW_EXCEPTION(). 2016-08-17 11:36:24 -04:00
lldependencies.h Merge Firestorm LGPL 2016-10-11 21:08:24 +02:00
lldepthstack.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lldictionary.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lldictionary.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lldoubledispatch.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llendianswizzle.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llerror.cpp DRTVWR-418: Ignore logging that requires resurrecting singletons. 2017-03-13 14:09:14 -04:00
llerror.h Merge Firestorm LGPL 2016-12-05 22:40:59 +01:00
llerrorcontrol.h Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2016-08-30 11:36:06 -04:00
llerrorlegacy.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llerrorthread.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llerrorthread.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llevent.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llevent.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lleventapi.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lleventapi.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lleventcoro.cpp MAINT-5011: Use LLTHROW() instead of plain BOOST_THROW_EXCEPTION(). 2016-08-17 11:36:24 -04:00
lleventcoro.h MAINT-5011: Introduce LLException base class for viewer exceptions. 2016-07-19 16:25:25 -04:00
lleventdispatcher.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lleventdispatcher.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lleventemitter.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lleventfilter.cpp Add size limit to LLEventBatchThrottle like LLEventBatch. 2017-05-10 17:37:06 -04:00
lleventfilter.h Linux buildfix; this should be reverted after gcc update to 4.7+ 2017-05-18 03:13:57 +03:00
llevents.cpp Merge viewer-bear 2017-10-05 16:25:10 +02:00
llevents.h Merged in lindenlab/viewer-cleanup 2016-11-14 22:04:37 +02:00
lleventtimer.cpp Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
lleventtimer.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llexception.cpp MAINT-5011: Abbreviate __FILE__ path in log_unhandled_exception_(). 2016-09-02 14:00:18 -04:00
llexception.h MAINT-5011: Catch unhandled exceptions in LLCoros coroutines. 2016-08-18 17:33:44 -04:00
llfasttimer.cpp Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
llfasttimer.h Merge. 2016-09-26 21:12:34 +02:00
llfile.cpp Merge viewer-lynx 2016-11-16 09:55:54 +01:00
llfile.h Merge viewer-lynx 2016-11-16 09:55:54 +01:00
llfindlocale.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llfindlocale.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llfixedbuffer.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llfixedbuffer.h Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
llformat.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llformat.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llframetimer.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llframetimer.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llhandle.h explicit not available for conversion operators in Linux yet 2016-07-21 13:03:40 -07:00
llhash.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llheartbeat.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llheartbeat.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llheteromap.cpp MAINT-5232: Add LLHeteroMap to contain objects of unrelated classes. 2016-10-12 23:01:48 -04:00
llheteromap.h Compile fix for OS X. 2017-02-04 10:25:25 -06:00
llindexedvector.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llinitdestroyclass.cpp MAINT-5232: Move "llerror.h" out of llcleanup.h, llinitdestroyclass.h 2016-08-30 16:28:21 -04:00
llinitdestroyclass.h MAINT-5232: Normalize LLSingleton subclasses. 2016-09-15 20:18:12 -04:00
llinitparam.cpp MAINT-7593 FIXED "Failed to parse parameter" spam 2017-07-13 11:01:20 +03:00
llinitparam.h MAINT-6783 Xml parser warnings should show the file name 2016-09-30 11:21:22 +03:00
llinstancetracker.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llinstancetracker.h Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
llkeythrottle.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llkeyusetracker.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llleap.cpp MAINT-5011: Use LLTHROW() instead of plain BOOST_THROW_EXCEPTION(). 2016-08-17 11:36:24 -04:00
llleap.h MAINT-5011: Introduce LLException base class for viewer exceptions. 2016-07-19 16:25:25 -04:00
llleaplistener.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llleaplistener.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lllistenerwrapper.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llliveappconfig.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llliveappconfig.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lllivefile.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lllivefile.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmake.h MAINT-5976: Fix bug in LLCoros::set_consuming() mechanism. 2015-12-18 18:06:32 -05:00
llmd5.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmd5.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmemory.cpp Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
llmemory.h Merge. 2016-09-26 21:12:34 +02:00
llmemorystream.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmemorystream.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmetricperformancetester.cpp MAINT-7758 Fixed freeze on loading lsl scripts from unicode named windows folder. 2017-08-30 19:57:02 +03:00
llmetricperformancetester.h MAINT-7758 Fixed freeze on loading lsl scripts from unicode named windows folder. 2017-08-30 19:57:02 +03:00
llmetrics.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmetrics.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmortician.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmortician.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmutex.cpp
llmutex.h Merge viewer-loader-mods 2015-08-29 14:14:08 +02:00
llnametable.h
llpointer.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llpounceable.h MAINT-5232: Normalize LLSingleton subclasses. 2016-09-15 20:18:12 -04:00
llpredicate.cpp
llpredicate.h
llpreprocessor.h Build fixes for C++11 on OS X. Includes several rebuilt libraries. 2016-06-21 15:57:18 -05:00
llpriqueuemap.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llprocess.cpp MAINT-5011: Use LLTHROW() instead of plain BOOST_THROW_EXCEPTION(). 2016-08-17 11:36:24 -04:00
llprocess.h Merge. 2016-09-26 21:12:34 +02:00
llprocessor.cpp Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
llprocessor.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llprocinfo.cpp
llprocinfo.h
llptrto.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llptrto.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llqueuedthread.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llqueuedthread.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llrand.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llrand.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llrefcount.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llrefcount.h Merge Firestorm LGPL 2016-04-05 10:47:23 +02:00
llregistry.h MAINT-5232: Normalize LLSingleton subclasses. 2016-09-15 20:18:12 -04:00
llrun.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llrun.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsafehandle.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsd.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsd.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsdjson.cpp MAINT-5575: Finished converting experience cache to singleton 2015-09-10 16:48:01 -07:00
llsdjson.h MAINT-5575: Finished converting experience cache to singleton 2015-09-10 16:48:01 -07:00
llsdparam.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsdparam.h MAINT-6783 Xml parser warnings should show the file name 2016-09-30 11:21:22 +03:00
llsdserialize.cpp MAINT-6697 Correct pointer freeing 2017-06-09 09:34:58 +02:00
llsdserialize.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsdserialize_xml.cpp Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
llsdserialize_xml.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsdutil.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsdutil.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsimplehash.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsingleton.cpp DRTVWR-418: Remove final shutdown cleanup as a cause of crashes. 2017-04-24 16:36:54 -04:00
llsingleton.h DRTVWR-418: Remove final shutdown cleanup as a cause of crashes. 2017-04-24 16:36:54 -04:00
llsmoothstep.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llstacktrace.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llstacktrace.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llstatenums.h
llstaticstringtable.h
llstl.h Merge Firestorm LGPL tip 2016-05-21 19:02:00 +02:00
llstreamqueue.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llstreamqueue.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llstreamtools.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llstreamtools.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llstrider.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llstring.cpp Added the @list and @stopim IM queries 2016-11-20 21:03:32 +01:00
llstring.h MAINT-7488 FIXED [Windows] Viewer crashes when pasting empty string from clipboard 2017-06-16 17:46:12 +03:00
llstringtable.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llstringtable.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsys.cpp Add detection of Windows Server 2016 2016-05-02 14:12:39 +02:00
llsys.h Merge viewer-neko 2017-08-30 20:00:53 +02:00
llthread.cpp Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
llthread.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llthreadlocalstorage.cpp
llthreadlocalstorage.h
llthreadsafequeue.cpp MAINT-5011: Use LLTHROW() instead of plain BOOST_THROW_EXCEPTION(). 2016-08-17 11:36:24 -04:00
llthreadsafequeue.h MAINT-5011: Introduce LLException base class for viewer exceptions. 2016-07-19 16:25:25 -04:00
lltimer.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lltimer.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lltrace.cpp
lltrace.h
lltraceaccumulators.cpp
lltraceaccumulators.h
lltracerecording.cpp MAINT-6366 - diagnostics related to animation asset downloads 2016-06-13 09:15:42 -04:00
lltracerecording.h
lltracethreadrecorder.cpp
lltracethreadrecorder.h
lltreeiterators.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llunits.h
llunittype.h
lluri.cpp Merge viewer-bear 2017-04-19 21:43:58 +02:00
lluri.h Merge viewer-bear 2017-04-19 21:43:58 +02:00
lluriparser.cpp Merge viewer-bear 2016-08-11 21:48:43 +02:00
lluriparser.h Merge viewer-bear 2016-08-11 21:48:43 +02:00
lluuid.cpp Merge. 2016-09-26 21:12:34 +02:00
lluuid.h Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
llwin32headers.h
llwin32headerslean.h
llworkerthread.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llworkerthread.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
stdtypes.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
string_table.h
stringize.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
tea.cpp Move teapot files into llcommon. 2016-01-06 11:50:43 +01:00
tea.h Move teapot files into llcommon. 2016-01-06 11:50:43 +01:00
timer.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
timing.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
u64.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
u64.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00