<feed xmlns='http://www.w3.org/2005/Atom'>
<title>viewer.git/indra/llcommon/llleap.h, branch 26.4</title>
<subtitle>Megapahit's fork of the Second Life viewer.
</subtitle>
<id>https://megapahit.org/viewer.git/atom?h=26.4</id>
<link rel='self' href='https://megapahit.org/viewer.git/atom?h=26.4'/>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/'/>
<updated>2024-04-29T04:56:09Z</updated>
<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>DRTVWR-474: Do NOT autokill updater process on viewer termination.</title>
<updated>2018-10-03T18:00:05Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2018-10-03T18:00:05Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=b1955d4247a4d28a3a4c259036390ff632e80008'/>
<id>urn:sha1:b1955d4247a4d28a3a4c259036390ff632e80008</id>
<content type='text'>
The updater is required to survive beyond termination of the viewer that
launched it so it can launch the next installer, or a replacement viewer.
Having the old viewer forcibly terminate it on shutdown would be counter-
productive.

Introduce a third LLLeap::create() overload taking LLProcess::Params, which
gives access to autokill, cwd and other options previously unsupported by
LLLeap. Reimplement the existing create() overloads in terms of this new one,
since LLLeapImpl::LLLeapImpl() is already based on LLProcess::Params anyway.

Use LLProcess::Params in LLAppViewer::init() to specify the updater process,
setting autokill=false.

Refactoring LLLeapImpl() apparently involved engaging an LLInitParam::Block
feature never before used: had to drag operator() into Multiple from its base
class TypedParam (as has been done in other TypedParam subclasses).
</content>
</entry>
<entry>
<title>MAINT-5011: Introduce LLException base class for viewer exceptions.</title>
<updated>2016-07-19T20:25:25Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2016-07-19T20:25:25Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=9c49a6c91dd9b5bbe811fcd91d8992ed6bac33e7'/>
<id>urn:sha1:9c49a6c91dd9b5bbe811fcd91d8992ed6bac33e7</id>
<content type='text'>
This also introduces LLContinueError for exceptions which should interrupt
some part of viewer processing (e.g. the current coroutine) but should attempt
to let the viewer session proceed.

Derive all existing viewer exception classes from LLException rather than from
std::runtime_error or std::logic_error.

Use BOOST_THROW_EXCEPTION() rather than plain 'throw' to enrich the thrown
exception with source file, line number and containing function.
</content>
</entry>
<entry>
<title>remove execute permission from many files that should not have it</title>
<updated>2015-11-10T14:48:56Z</updated>
<author>
<name>Oz Linden</name>
<email>oz@lindenlab.com</email>
</author>
<published>2015-11-10T14:48:56Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=c8726aba303bcf1207b730a344536e25491420bc'/>
<id>urn:sha1:c8726aba303bcf1207b730a344536e25491420bc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge downstream code and viewer-beta</title>
<updated>2013-05-09T21:10:45Z</updated>
<author>
<name>simon</name>
<email>none@none</email>
</author>
<published>2013-05-09T21:10:45Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=ee2fce8790b69d61845cc32fbf7cdce8a33b0dab'/>
<id>urn:sha1:ee2fce8790b69d61845cc32fbf7cdce8a33b0dab</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ï»¿diff -r 59c7bed66dfd indra/llcommon/lleventapi.h</title>
<updated>2013-04-24T16:35:38Z</updated>
<author>
<name>simon</name>
<email>none@none</email>
</author>
<published>2013-04-24T16:35:38Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=87ba85eaabbfd5fd7ad8ca8136f4783b1d932264'/>
<id>urn:sha1:87ba85eaabbfd5fd7ad8ca8136f4783b1d932264</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update Mac and Windows breakpad builds to latest</title>
<updated>2013-03-29T14:50:08Z</updated>
<author>
<name>Graham Madarasz</name>
<email>graham@lindenlab.com</email>
</author>
<published>2013-03-29T14:50:08Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=bf6182daa8b4d7cea79310547f71d7a3155e17b0'/>
<id>urn:sha1:bf6182daa8b4d7cea79310547f71d7a3155e17b0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Modify LLInstanceTracker to avoid using a map of strings to find a map of foo to find some pointers</title>
<updated>2013-02-28T23:35:14Z</updated>
<author>
<name>Graham Madarasz (Graham)</name>
<email>graham@lindenlab.com</email>
</author>
<published>2013-02-28T23:35:14Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=93eaccae6fe6e8442a3c6e5a2d40a408aa44df77'/>
<id>urn:sha1:93eaccae6fe6e8442a3c6e5a2d40a408aa44df77</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add LLLeap class, initial implementation, initial unit tests.</title>
<updated>2012-03-01T22:46:44Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2012-03-01T22:46:44Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=0ef99cd33b4b450712e105e8ab448c2dab7081d2'/>
<id>urn:sha1:0ef99cd33b4b450712e105e8ab448c2dab7081d2</id>
<content type='text'>
Instantiating LLLeap with a command to execute a particular child process sets
up machinery to speak LLSD Event API Plugin protocol with that child process.
LLLeap is an LLInstanceTracker subclass, so the code that instantiates need
not hold the pointer. LLLeap monitors child-process termination and deletes
itself when done.
</content>
</entry>
</feed>
