<feed xmlns='http://www.w3.org/2005/Atom'>
<title>viewer.git/indra/newview/llaccountingcostmanager.cpp, branch cef_147</title>
<subtitle>Megapahit's fork of the Second Life viewer.
</subtitle>
<id>https://megapahit.org/viewer.git/atom?h=cef_147</id>
<link rel='self' href='https://megapahit.org/viewer.git/atom?h=cef_147'/>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/'/>
<updated>2025-11-28T16:03:31Z</updated>
<entry>
<title>#5072 Use make_shared for more efficient ref counting and allocation</title>
<updated>2025-11-28T16:03:31Z</updated>
<author>
<name>Rye</name>
<email>rye@alchemyviewer.org</email>
</author>
<published>2025-11-28T16:03:31Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=54b3f3de64f3749022d95063c7439bfed316645f'/>
<id>urn:sha1:54b3f3de64f3749022d95063c7439bfed316645f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Re-enable compiler warnings C4244 and C4396 except for lltracerecording.h and llunittype.h for now</title>
<updated>2024-07-08T18:27:14Z</updated>
<author>
<name>Ansariel</name>
<email>ansariel.hiller@phoenixviewer.com</email>
</author>
<published>2024-07-08T18:27:14Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=9fdca96f8bd2211a99fe88e57b70cbecefa20b6d'/>
<id>urn:sha1:9fdca96f8bd2211a99fe88e57b70cbecefa20b6d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'marchcat/w-whitespace' into marchcat/x-ws-merge</title>
<updated>2024-05-01T05:16:58Z</updated>
<author>
<name>Andrey Lihatskiy</name>
<email>alihatskiy@productengine.com</email>
</author>
<published>2024-05-01T05:16:58Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=38c2a5bde985a6a8a96d912d432f8bdf7e5b60be'/>
<id>urn:sha1:38c2a5bde985a6a8a96d912d432f8bdf7e5b60be</id>
<content type='text'>
</content>
</entry>
<entry>
<title>#824 Process source files in bulk: replace tabs with spaces, convert CRLF to LF, and trim trailing whitespaces as needed</title>
<updated>2024-04-29T04:56:09Z</updated>
<author>
<name>Andrey Lihatskiy</name>
<email>alihatskiy@productengine.com</email>
</author>
<published>2024-04-29T04:43:28Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=1b68f71348ecf3983b76b40d7940da8377f049b7'/>
<id>urn:sha1:1b68f71348ecf3983b76b40d7940da8377f049b7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Crash getting acccounting cost</title>
<updated>2024-01-24T23:40:53Z</updated>
<author>
<name>Andrey Kleshchev</name>
<email>andreykproductengine@lindenlab.com</email>
</author>
<published>2024-01-24T20:45:37Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=03afd4ee7866a5ffc81c5fb62edca58607693243'/>
<id>urn:sha1:03afd4ee7866a5ffc81c5fb62edca58607693243</id>
<content type='text'>
</content>
</entry>
<entry>
<title>DRTVWR-570 Mac build fix</title>
<updated>2022-10-26T23:35:52Z</updated>
<author>
<name>Andrey Lihatskiy</name>
<email>alihatskiy@productengine.com</email>
</author>
<published>2022-10-26T23:35:52Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=b2c5973fbd504039e1ef9d8fe6d853857e00fcad'/>
<id>urn:sha1:b2c5973fbd504039e1ef9d8fe6d853857e00fcad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>DRTVWR-476, SL-12197: Don't throw Stopping from main coroutine.</title>
<updated>2020-03-25T23:24:25Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2019-11-22T16:58:27Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=2a56ab44360aa49bd0df9281efc8a8a97a510013'/>
<id>urn:sha1:2a56ab44360aa49bd0df9281efc8a8a97a510013</id>
<content type='text'>
The new LLCoros::Stop exception is intended to terminate long-lived coroutines
-- not interrupt mainstream shutdown processing. Only throw it on an
explicitly-launched coroutine.

Make LLCoros::getName() (used by the above test) static. As with other LLCoros
methods, it might be called after the LLCoros LLSingleton instance has been
deleted. Requiring the caller to call instance() implies a possible need to
also call wasDeleted(). Encapsulate that nuance into a static method instead.
</content>
</entry>
<entry>
<title>MAINT-5011: Catch unhandled exceptions in LLCoros coroutines.</title>
<updated>2016-08-18T21:33:44Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2016-08-18T21:33:44Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=4d10172d8b2c72fa809e322a3b4ff326b19ff340'/>
<id>urn:sha1:4d10172d8b2c72fa809e322a3b4ff326b19ff340</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>MAINT-5011: Try to enrich catch (...) logging throughout viewer.</title>
<updated>2016-08-17T19:40:03Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2016-08-17T19:40:03Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=993f54f6e91d78a9c2e1389ad878d6bd46e9be5b'/>
<id>urn:sha1:993f54f6e91d78a9c2e1389ad878d6bd46e9be5b</id>
<content type='text'>
Turns out we have a surprising number of catch (...) clauses in the viewer
code base. If all we currently do is

    LL_ERRS() &lt;&lt; "unknown exception" &lt;&lt; LL_ENDL;

then call CRASH_ON_UNHANDLED_EXCEPTION() instead. If what we do is

    LL_WARNS() &lt;&lt; "unknown exception" &lt;&lt; LL_ENDL;

then call LOG_UNHANDLED_EXCEPTION() instead.

Since many places need LOG_UNHANDLED_EXCEPTION() and nobody catches
LLContinueError yet, eliminate LLContinueError&amp; parameter from
LOG_UNHANDLED_EXCEPTION(). This permits us to use the same log message as
CRASH_ON_UNHANDLED_EXCEPTION(), just with a different severity level.

Where a catch (...) clause actually provides contextual information, or makes
an error string, add boost::current_exception_diagnostic_information() to try
to figure out actual exception class and message.
</content>
</entry>
<entry>
<title>merge with 4.0.3-release</title>
<updated>2016-04-04T19:53:09Z</updated>
<author>
<name>Oz Linden</name>
<email>oz@lindenlab.com</email>
</author>
<published>2016-04-04T19:53:09Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=9be58e915a6c69de280ccabd3019e9ac40beed26'/>
<id>urn:sha1:9be58e915a6c69de280ccabd3019e9ac40beed26</id>
<content type='text'>
</content>
</entry>
</feed>
