<feed xmlns='http://www.w3.org/2005/Atom'>
<title>viewer.git/indra/llcommon/llprocesslauncher.h, 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>2012-01-20T23:10:40Z</updated>
<entry>
<title>Per Richard, replace LLProcessLauncher with LLProcess.</title>
<updated>2012-01-20T23:10:40Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2012-01-20T23:10:40Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=f0dbb878337082d3f581874c12e6df2f4659a464'/>
<id>urn:sha1:f0dbb878337082d3f581874c12e6df2f4659a464</id>
<content type='text'>
LLProcessLauncher had the somewhat fuzzy mandate of (1) accumulating
parameters with which to launch a child process and (2) sometimes tracking the
lifespan of the ensuing child process. But a valid LLProcessLauncher object
might or might not have ever been associated with an actual child process.
LLProcess specifically tracks a child process. In effect, it's a fairly thin
wrapper around a process HANDLE (on Windows) or pid_t (elsewhere), with
lifespan management thrown in. A static LLProcess::create() method launches a
new child; create() accepts an LLSD bundle with child parameters. So building
up a parameter bundle is deferred to LLSD rather than conflated with the
process management object.
Reconcile all known LLProcessLauncher consumers in the viewer code base,
notably the class unit tests.
</content>
</entry>
<entry>
<title>Introduce static LLProcessLauncher::isRunning(ll_pid_t) method.</title>
<updated>2012-01-18T06:09:50Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2012-01-18T06:09:50Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=06f9dbd8db9895f81d7bd325d8cf616f68533396'/>
<id>urn:sha1:06f9dbd8db9895f81d7bd325d8cf616f68533396</id>
<content type='text'>
typedef LLProcessLauncher::ll_pid_t to be HANDLE on Windows, pid_t elsewhere.
Then we can define getProcessID() returning ll_pid_t on all platforms,
retaining getProcessHandle() for hypothetical existing consumers... of which
there are none in practice.
This lets us define isRunning(ll_pid_t) to encapsulate the platform-specific
logic to actually check on a running child process, turning non-static
isRunning() into a fairly trivial wrapper.
</content>
</entry>
<entry>
<title>Add log message if LLProcessLauncher child fails to execv().</title>
<updated>2012-01-17T23:55:42Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2012-01-17T23:55:42Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=c0731c1c05cafe508c91c5f583301234ba3b8403'/>
<id>urn:sha1:c0731c1c05cafe508c91c5f583301234ba3b8403</id>
<content type='text'>
On a Posix platform (vfork()/execv() implementation), if for any reason the
execv() failed (e.g. executable not on PATH), the viewer would never know, nor
the user: the vfork() child produced no output, and terminated with rc 0! Add
logging, make child terminate with nonzero rc.
Remove pointless addArgument(const char*) overload: this does nothing for you
that the compiler won't do implicitly.
In llupdateinstaller.cpp, remove pointless c_str() call in addArgument() arg:
we were starting with a std::string, then extracting its c_str(), only to
construct a whole new std::string from it!
</content>
</entry>
<entry>
<title>STORM-52 FIXED Made it possible to use an external script editor.</title>
<updated>2010-11-12T22:53:29Z</updated>
<author>
<name>Vadim ProductEngine</name>
<email>vsavchuk@productengine.com</email>
</author>
<published>2010-11-12T22:53:29Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=b2fcba25c8dd04318420af30f877b0984a524055'/>
<id>urn:sha1:b2fcba25c8dd04318420af30f877b0984a524055</id>
<content type='text'>
The editor can be specified:
* via "ExternalEditor" setting in settings.xml
* via LL_SCRIPT_EDITOR variable

Removed obsolete XUIEditor setting in favor of the new one.
</content>
</entry>
<entry>
<title>Change license from GPL to LGPL (version 2.1)</title>
<updated>2010-08-13T11:24:57Z</updated>
<author>
<name>Oz Linden</name>
<email>oz@lindenlab.com</email>
</author>
<published>2010-08-13T11:24:57Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=06b0d72efa96b6a0ed665f7cd46f358c48929e7b'/>
<id>urn:sha1:06b0d72efa96b6a0ed665f7cd46f358c48929e7b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Added PluginAttachDebuggerToPlugins debug setting.</title>
<updated>2009-11-10T23:57:26Z</updated>
<author>
<name>Monroe Linden</name>
<email>monroe@lindenlab.com</email>
</author>
<published>2009-11-10T23:57:26Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=2fd31363f747aaf0ec3d3d6b5711e0ecc99b2cf3'/>
<id>urn:sha1:2fd31363f747aaf0ec3d3d6b5711e0ecc99b2cf3</id>
<content type='text'>
Added accessors to get platform-specific process ID from LLProcessLauncher.

Added an optional "debug" argument to LLPluginClassMedia::init() and LLPluginProcessParent::init() (defaults to false).

Mac only: made the state machine in LLPluginProcessParent::idle() open a new window in Terminal.app with a gdb session attached to the plugin process upon successful launch.
</content>
</entry>
<entry>
<title>Post-merge cleanups (adding LL_COMMON_API declarations)</title>
<updated>2009-08-31T22:43:12Z</updated>
<author>
<name>brad kittenbrink</name>
<email>brad@lindenlab.com</email>
</author>
<published>2009-08-31T22:43:12Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=3df557435fa3e83a1d0f5f6880aab2e5e6a2ba13'/>
<id>urn:sha1:3df557435fa3e83a1d0f5f6880aab2e5e6a2ba13</id>
<content type='text'>
</content>
</entry>
<entry>
<title>svn merge -r 129841:129910 svn+ssh://svn.lindenlab.com/svn/linden/branches/moss/pluginapi_05-merge@129910</title>
<updated>2009-08-27T19:00:18Z</updated>
<author>
<name>Monroe Williams</name>
<email>monroe@lindenlab.com</email>
</author>
<published>2009-08-27T19:00:18Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=745845f79987e4b4ab7f5728746a0eda8898930f'/>
<id>urn:sha1:745845f79987e4b4ab7f5728746a0eda8898930f</id>
<content type='text'>
svn merge -r 129913:131718 svn+ssh://svn.lindenlab.com/svn/linden/branches/pluginapi/pluginapi_05

Some branch shenannigans in the pluginapi_05 branch caused this to become a two-part merge.
</content>
</entry>
</feed>
