<feed xmlns='http://www.w3.org/2005/Atom'>
<title>viewer.git/indra/llplugin/llpluginprocesschild.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>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>merge changes for 4.0.1-release</title>
<updated>2016-01-15T21:55:04Z</updated>
<author>
<name>Oz Linden</name>
<email>oz@lindenlab.com</email>
</author>
<published>2016-01-15T21:55:04Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=bc22e587439a2822e5228508e7a4a1e2ec0121c5'/>
<id>urn:sha1:bc22e587439a2822e5228508e7a4a1e2ec0121c5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Added code to initiate controlled shutdown of plugins with timeouts for misbeahving plugin.</title>
<updated>2015-11-10T21:45:30Z</updated>
<author>
<name>Rider Linden</name>
<email>rider@lindenlab.com</email>
</author>
<published>2015-11-10T21:45:30Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=059925eafb66dc0e2d8ef9c113ca8980a34c655d'/>
<id>urn:sha1:059925eafb66dc0e2d8ef9c113ca8980a34c655d</id>
<content type='text'>
</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 with viewer-release</title>
<updated>2013-06-06T02:05:43Z</updated>
<author>
<name>Richard Linden</name>
<email>none@none</email>
</author>
<published>2013-06-06T02:05:43Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=0a96b47663c99914c587cdcb8bcdc096bbf55fa3'/>
<id>urn:sha1:0a96b47663c99914c587cdcb8bcdc096bbf55fa3</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>SH-3406 WIP convert fast timers to lltrace system</title>
<updated>2012-11-15T07:52:27Z</updated>
<author>
<name>Richard Linden</name>
<email>none@none</email>
</author>
<published>2012-11-15T07:52:27Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=9d77e030d9a0d23cebce616631677459eec1612c'/>
<id>urn:sha1:9d77e030d9a0d23cebce616631677459eec1612c</id>
<content type='text'>
cleaning up build
moved most includes of windows.h to llwin32headers.h to disable min/max macros, etc
streamlined Time class and consolidated functionality in BlockTimer class
llfasttimer is no longer included via llstring.h, so had to add it manually in several places
</content>
</entry>
<entry>
<title>VWR-21275 FIX // *SOME* Windows systems fail to load the Qt plugins if the current working</title>
<updated>2011-02-08T23:37:12Z</updated>
<author>
<name>callum</name>
<email>none@none</email>
</author>
<published>2011-02-08T23:37:12Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=7e6ce12a17add531695d0435e85a9e5564209e41'/>
<id>urn:sha1:7e6ce12a17add531695d0435e85a9e5564209e41</id>
<content type='text'>
Reviewed by Richard - http://codereview.lindenlab.com/6011001/
</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>Add a way for plugins to send a message and block waiting for the response</title>
<updated>2010-04-23T22:50:22Z</updated>
<author>
<name>Monroe Linden</name>
<email>monroe@lindenlab.com</email>
</author>
<published>2010-04-23T22:50:22Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=57a2a2beff565c9a2e2ed0937df178c38d114cb3'/>
<id>urn:sha1:57a2a2beff565c9a2e2ed0937df178c38d114cb3</id>
<content type='text'>
This requires some cooperation between the plugin and the host, and will only work for specific messages.

The way it works is as follows:
* the plugin sends a message containing the key "blocking_request" (with any value)
* this will cause the "send message" function to block (continuing to pull incoming messages off the network socket and queue them) until it receives a message from the host containing the key "blocking_response"
** NOTE: if the plugin sends a blocking_request that isn't set up to cause the host to send back a blocking_response, it will block forever
* the blocking_response message will be handed to the plugin's "receive message" function _immediately_ (before the "send message" function returns)
** this means that the plugin can extract response data for use by the the code that sent the message (but is still blocked inside the "send message" call)
** NOTE: this BREAKS the invariant stating that the plugin's "receive message" function will never be called recursively, and the plugin MUST be prepared to deal with this
* after the plugin finishes processing the blocking_response message, the "send message" function that was called with the blocking_request message will return to the plugin
* any queued messages will be delivered after the outer invocation of the plugin's "receive message" function returns (as normal)

Inside the viewer, the code can tell when a plugin is in this blocked state by calling LLPluginProcessParent::isBlocked().  LLPluginClassMedia uses this to avoid sending mouse-move and size-change messages to blocked plugins.
</content>
</entry>
</feed>
