phoenix-firestorm/indra/llmessage
Nat Goodspeed 4d10172d8b MAINT-5011: Catch unhandled exceptions in LLCoros coroutines.
Wrap coroutine call in try/catch in top-level coroutine wrapper function
LLCoros::toplevel(). Distinguish exception classes derived from
LLContinueError (log and continue) from all others (crash with LL_ERRS).

Enhance CRASH_ON_UNHANDLED_EXCEPTIONS() and LOG_UNHANDLED_EXCEPTIONS() macros
to accept a context string to supplement the log message. This lets us replace
many places that called boost::current_exception_diagnostic_information() with
LOG_UNHANDLED_EXCEPTIONS() instead, since the explicit calls were mostly to
log supplemental information.

Provide supplemental information (coroutine name, function parameters) for
some of the previous LOG_UNHANDLED_EXCEPTIONS() calls. This information
duplicates LL_DEBUGS() information at the top of these functions, but in a
typical log file we wouldn't see the LL_DEBUGS() message.

Eliminate a few catch (std::exception e) clauses: the information we get from
boost::current_exception_diagnostic_information() in a catch (...) clause
makes it unnecessary to distinguish.

In a few cases, add a final 'throw;' to a catch (...) clause: having logged
the local context info, propagate the exception to be caught by higher-level
try/catch.

In a couple places, couldn't resist reconciling indentation within a
particular function: tabs where the rest of the function uses tabs, spaces
where the rest of the function uses spaces.

In LLLogin::Impl::loginCoro(), eliminate some confusing comments about an
array of rewritten URIs that date back to a long-deleted implementation.
2016-08-18 17:33:44 -04:00
..
tests MAINT-5011: Use LLTHROW() instead of plain BOOST_THROW_EXCEPTION(). 2016-08-17 11:36:24 -04:00
CMakeLists.txt merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
llassetstorage.cpp merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
llassetstorage.h MAINT-6486: Be sure that all the script queue functions hit all objects and scripts in those objects. Convert from responders and callbacks to coroutines. 2016-06-10 12:33:39 -07:00
llavatarname.cpp MAINT-6220 enable searching of the friend list with the classic username of the avatar. 2016-05-04 11:31:00 +03:00
llavatarname.h MAINT-6220 enable searching of the friend list with the classic username of the avatar. 2016-05-04 11:31:00 +03:00
llavatarnamecache.cpp MAINT-5011: Catch unhandled exceptions in LLCoros coroutines. 2016-08-18 17:33:44 -04:00
llavatarnamecache.h merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
llblowfishcipher.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llblowfishcipher.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llbuffer.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llbuffer.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llbufferstream.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llbufferstream.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llcachename.cpp merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
llcachename.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llchainio.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llchainio.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llcipher.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llcircuit.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llcircuit.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llclassifiedflags.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llclassifiedflags.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llcoproceduremanager.cpp MAINT-5011: Catch unhandled exceptions in LLCoros coroutines. 2016-08-18 17:33:44 -04:00
llcoproceduremanager.h MAINT-5575: Convert the Experience cache into a coro based singleton. 2015-09-01 16:13:52 -07:00
llcorehttputil.cpp MAINT-6338: Add methods for getting and setting boolean properties from gSavedSettings in the HTTPCore. Use those methods to access new key HTTPLogBodyOnError. Dump body of HTTP message to log in case of error if this key is true. 2016-04-25 12:06:33 -07:00
llcorehttputil.h MAINT-6338: Add methods for getting and setting boolean properties from gSavedSettings in the HTTPCore. Use those methods to access new key HTTPLogBodyOnError. Dump body of HTTP message to log in case of error if this key is true. 2016-04-25 12:06:33 -07:00
lldatapacker.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lldatapacker.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lldbstrings.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lldispatcher.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lldispatcher.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lleventflags.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llexperiencecache.cpp Initial changes for Vivox/Azumarill merge. Lots of temporary code and conditional compile switches. Begin switch from statemachine to coroutine. 2015-12-04 14:27:22 -08:00
llexperiencecache.h Experience Profile to coroutines and Experience cache. 2015-09-04 13:13:16 -07:00
llextendedstatus.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llfiltersd2xmlrpc.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llfiltersd2xmlrpc.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llfollowcamparams.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llhost.cpp merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
llhost.h merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
llhttpnode.cpp MAINT-5011: Use LLTHROW() instead of plain BOOST_THROW_EXCEPTION(). 2016-08-17 11:36:24 -04:00
llhttpnode.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llhttpnodeadapter.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llhttpsdhandler.cpp MAINT-5732: Change to the way event polling handles error conditions and cancel calls. 2015-10-14 17:46:24 -07:00
llhttpsdhandler.h MAINT-5732: Change to the way event polling handles error conditions and cancel calls. 2015-10-14 17:46:24 -07:00
llinstantmessage.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llinstantmessage.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llinvite.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lliobuffer.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lliobuffer.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lliohttpserver.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lliohttpserver.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lliopipe.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lliopipe.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lliosocket.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lliosocket.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llioutil.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llioutil.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llloginflags.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmail.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmail.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmessagebuilder.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmessagebuilder.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmessageconfig.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmessageconfig.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmessagereader.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmessagereader.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmessagesenderinterface.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmessagetemplate.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmessagetemplate.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmessagetemplateparser.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmessagetemplateparser.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmessagethrottle.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmessagethrottle.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llmsgvariabletype.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llnamevalue.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llnamevalue.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llnullcipher.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llnullcipher.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llpacketack.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llpacketack.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llpacketbuffer.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llpacketbuffer.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llpacketring.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llpacketring.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llpartdata.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llpartdata.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llproxy.cpp merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
llproxy.h merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
llpumpio.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llpumpio.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llqueryflags.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llregionflags.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llregionhandle.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsdappservices.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsdappservices.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsdhttpserver.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsdhttpserver.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsdmessagebuilder.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsdmessagebuilder.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsdmessagereader.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llsdmessagereader.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llservice.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llservice.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llservicebuilder.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llservicebuilder.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llstoredmessage.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llstoredmessage.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lltaskname.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llteleportflags.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lltemplatemessagebuilder.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lltemplatemessagebuilder.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lltemplatemessagedispatcher.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lltemplatemessagedispatcher.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lltemplatemessagereader.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lltemplatemessagereader.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llthrottle.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llthrottle.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lltransfermanager.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lltransfermanager.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lltransfersourceasset.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lltransfersourceasset.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lltransfersourcefile.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lltransfersourcefile.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lltransfertargetfile.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lltransfertargetfile.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lltransfertargetvfile.cpp merge changes for DRTVWR-417 2016-03-16 13:08:06 -04:00
lltransfertargetvfile.h merge changes for DRTVWR-417 2016-03-16 13:08:06 -04:00
lltrustedmessageservice.cpp merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
lltrustedmessageservice.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lluseroperation.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
lluseroperation.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llvehicleparams.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llxfer.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llxfer.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llxfer_file.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llxfer_file.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llxfer_mem.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llxfer_mem.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llxfer_vfile.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llxfer_vfile.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llxfermanager.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llxfermanager.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llxorcipher.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
llxorcipher.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
machine.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
machine.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
mean_collision_data.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
message.cpp merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
message.h merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
message_prehash.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
message_prehash.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
message_string_table.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
net.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
net.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
partsyspacket.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
partsyspacket.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
patch_code.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
patch_code.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
patch_dct.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
patch_dct.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
patch_idct.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
sound_ids.cpp remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
sound_ids.h remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00