<feed xmlns='http://www.w3.org/2005/Atom'>
<title>viewer.git/indra/llmessage/llcoproceduremanager.h, branch main</title>
<subtitle>Megapahit's fork of the Second Life viewer.
</subtitle>
<id>https://www.megapahit.org/viewer.git/atom?h=main</id>
<link rel='self' href='https://www.megapahit.org/viewer.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/'/>
<updated>2025-12-01T10:46:57Z</updated>
<entry>
<title>#5078 Replace boost::function with std::function</title>
<updated>2025-12-01T10:46:57Z</updated>
<author>
<name>Rye</name>
<email>rye@alchemyviewer.org</email>
</author>
<published>2025-12-01T10:46:57Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=fb3f0e18a2ada57f98c3b10fab0c13fb2d504ae1'/>
<id>urn:sha1:fb3f0e18a2ada57f98c3b10fab0c13fb2d504ae1</id>
<content type='text'>
* Replace boost::function usage with std::function for easier debugging and reduced compiler warnings
* Remove a few remaining instances of boost::noncopyable that were missed in tests

Signed-off-by: Rye &lt;rye@alchemyviewer.org&gt;</content>
</entry>
<entry>
<title>#3223 Trim coroutine queues a little</title>
<updated>2025-08-20T09:53:53Z</updated>
<author>
<name>Andrey Kleshchev</name>
<email>andreykproductengine@lindenlab.com</email>
</author>
<published>2025-08-19T19:17:01Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=d5f748c91c650a2ec534c497b9e098ccb317d70b'/>
<id>urn:sha1:d5f748c91c650a2ec534c497b9e098ccb317d70b</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://www.megapahit.org/viewer.git/commit/?id=1b68f71348ecf3983b76b40d7940da8377f049b7'/>
<id>urn:sha1:1b68f71348ecf3983b76b40d7940da8377f049b7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>SL-15383 repalced some boost::shared_ptr with std version to make it readable in VC</title>
<updated>2022-04-26T19:01:55Z</updated>
<author>
<name>Andrey Kleshchev</name>
<email>andreykproductengine@lindenlab.com</email>
</author>
<published>2022-04-26T18:43:30Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=1a325b38da9c87020b56da546b31c9c699d52e3f'/>
<id>urn:sha1:1a325b38da9c87020b56da546b31c9c699d52e3f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge master (DRTVWR-515) into DRTVWR-516-maint</title>
<updated>2021-04-29T18:00:25Z</updated>
<author>
<name>Andrey Kleshchev</name>
<email>andreykproductengine@lindenlab.com</email>
</author>
<published>2021-04-29T18:00:25Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=3f31901640b11740da43b23f0d9902407ee9313d'/>
<id>urn:sha1:3f31901640b11740da43b23f0d9902407ee9313d</id>
<content type='text'>
# Conflicts:
#	autobuild.xml
#	doc/contributions.txt
#	indra/llcommon/llcoros.cpp
#	indra/llmessage/llcoproceduremanager.cpp
#	indra/newview/llfloaterfixedenvironment.cpp
#	indra/newview/llfloaterimsessiontab.cpp
</content>
</entry>
<entry>
<title>SL-14807 Viewer crashes when creating an experience</title>
<updated>2021-02-09T23:10:36Z</updated>
<author>
<name>Andrey Kleshchev</name>
<email>andreykproductengine@lindenlab.com</email>
</author>
<published>2021-02-09T23:10:36Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=24d4517458f46ad0cd7284a5f30c4d961d518aa8'/>
<id>urn:sha1:24d4517458f46ad0cd7284a5f30c4d961d518aa8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>SL-14399 Enqueue into 'LLViewerAssetStorage::assetRequestCoro' failed</title>
<updated>2020-11-26T20:27:48Z</updated>
<author>
<name>Andrey Kleshchev</name>
<email>andreykproductengine@lindenlab.com</email>
</author>
<published>2020-11-26T20:26:18Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=71bca1d8609901d98e4dca5f2e264d5d4b497e6d'/>
<id>urn:sha1:71bca1d8609901d98e4dca5f2e264d5d4b497e6d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>DRTVWR-476: Introduce LLCoprocedureManager::close(). Use in tests.</title>
<updated>2020-03-25T23:07:22Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2019-11-15T13:17:04Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=fc2437fb5d349a094c1c64631ba6a5fd5675ddcc'/>
<id>urn:sha1:fc2437fb5d349a094c1c64631ba6a5fd5675ddcc</id>
<content type='text'>
The new close(void) method simply acquires the logic from
~LLCoprocedureManager() (which now calls close()). It's useful, even if only
in test programs, to be able to shut down all existing LLCoprocedurePools
without having to name them individually -- and without having to destroy the
LLCoprocedureManager singleton instance. Deleting an LLSingleton should be
done only once per process, whereas test programs want to reset the
LLCoprocedureManager after each test.
</content>
</entry>
<entry>
<title>DRTVWR-476: Use shared_ptr to manage lifespan of coprocedure queue.</title>
<updated>2020-03-25T23:05:17Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2019-10-25T20:10:56Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=cc6f1d6195c457dc744ff23ac06ccd3a2d948aca'/>
<id>urn:sha1:cc6f1d6195c457dc744ff23ac06ccd3a2d948aca</id>
<content type='text'>
Since the consuming coroutine LLCoprocedurePool::coprocedureInvokerCoro() has
been observed to outlive the LLCoprocedurePool instance that owns the
CoprocQueue_t, closing that queue isn't enough to keep the coroutine from
crashing at shutdown: accessing a deleted CoprocQueue_t is fatal whether or
not it's been closed.

Make LLCoprocedurePool store a shared_ptr to a heap CoprocQueue_t instance,
and pass that shared_ptr by value to consuming coroutines. That way the
CoprocQueue_t instance is guaranteed to live as long as the last interested
party.
</content>
</entry>
<entry>
<title>Improved shutdown behavior of LLCoprocedureManager</title>
<updated>2020-03-25T22:39:21Z</updated>
<author>
<name>Brad Kittenbrink</name>
<email>brad@lindenlab.com</email>
</author>
<published>2019-03-14T18:55:42Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=b09aa6a2bf2f908ff890b920149976e04fd420db'/>
<id>urn:sha1:b09aa6a2bf2f908ff890b920149976e04fd420db</id>
<content type='text'>
</content>
</entry>
</feed>
