<feed xmlns='http://www.w3.org/2005/Atom'>
<title>viewer.git/indra/llcommon/threadpool.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>2024-06-10T17:45:59Z</updated>
<entry>
<title>Post-merge - trim trailing whitespace</title>
<updated>2024-06-10T17:45:59Z</updated>
<author>
<name>Andrey Lihatskiy</name>
<email>alihatskiy@productengine.com</email>
</author>
<published>2024-06-10T17:42:42Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=c95b4bf3ea2b681d6d05468b07e60fedb71fa2cf'/>
<id>urn:sha1:c95b4bf3ea2b681d6d05468b07e60fedb71fa2cf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'main' of https://github.com/secondlife/viewer into DRTVWR-600-maint-A</title>
<updated>2024-04-11T19:59:38Z</updated>
<author>
<name>Ansariel</name>
<email>ansariel.hiller@phoenixviewer.com</email>
</author>
<published>2024-04-11T19:59:38Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=d0102af56d3b1d5b1d9bf3c8eb9aeea77028b70e'/>
<id>urn:sha1:d0102af56d3b1d5b1d9bf3c8eb9aeea77028b70e</id>
<content type='text'>
# Conflicts:
#	indra/llcommon/llapp.cpp
#	indra/llcommon/llapp.h
#	indra/llimage/llimageworker.cpp
#	indra/llui/llcontainerview.cpp
#	indra/llui/llcontainerview.h
#	indra/llui/llkeywords.cpp
#	indra/llui/lltabcontainer.cpp
#	indra/llui/lltextbase.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llfavoritesbar.cpp
#	indra/newview/llfavoritesbar.h
#	indra/newview/llfloaterimnearbychathandler.cpp
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/llhudnametag.h
#	indra/newview/llinventorypanel.cpp
#	indra/newview/llinventorypanel.h
#	indra/newview/llmeshrepository.cpp
#	indra/newview/lloutfitgallery.cpp
#	indra/newview/lloutfitslist.cpp
#	indra/newview/llpaneleditwearable.cpp
#	indra/newview/llpanelprofilepicks.cpp
#	indra/newview/llpanelvoicedevicesettings.h
#	indra/newview/llpreviewscript.cpp
#	indra/newview/llpreviewscript.h
#	indra/newview/llselectmgr.cpp
#	indra/newview/lltranslate.cpp
#	indra/newview/llviewerassetupload.cpp
#	indra/newview/llviewermessage.cpp
</content>
</entry>
<entry>
<title>SL-18721 Shutdown fixes #5</title>
<updated>2024-02-27T21:14:44Z</updated>
<author>
<name>Andrey Kleshchev</name>
<email>andreykproductengine@lindenlab.com</email>
</author>
<published>2024-02-27T21:02:00Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=18ec799992e0e2571ed3d3a61454be682a81aa16'/>
<id>urn:sha1:18ec799992e0e2571ed3d3a61454be682a81aa16</id>
<content type='text'>
</content>
</entry>
<entry>
<title>jira-archive-internal#67837 Windows' bulk export of snapshots and textures</title>
<updated>2024-02-16T17:58:13Z</updated>
<author>
<name>Andrey Kleshchev</name>
<email>andreykproductengine@lindenlab.com</email>
</author>
<published>2024-02-15T22:02:04Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=d0e82ca55670645eacc61fca39bf8667c0840de9'/>
<id>urn:sha1:d0e82ca55670645eacc61fca39bf8667c0840de9</id>
<content type='text'>
SL-17661 Viewer was silently failing to 'save selection as'
</content>
</entry>
<entry>
<title>SL-18721 Shutdown fixes</title>
<updated>2024-01-22T16:47:43Z</updated>
<author>
<name>Andrey Kleshchev</name>
<email>andreykproductengine@lindenlab.com</email>
</author>
<published>2024-01-20T00:26:51Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=4a34a1196627c7e9998edde725d5e839f3ef61b9'/>
<id>urn:sha1:4a34a1196627c7e9998edde725d5e839f3ef61b9</id>
<content type='text'>
1. After window closes viewer still takes some time to shut down, so
added splash screen to not confuse users (and to see if something gets
stuck)
2. Having two identical mWindowHandle caused confusion for me, so I
split them. It looks like there might have been issues with thread being
stuck because thread's handle wasn't cleaned up.
3. Made region clean mCacheMap immediately instead of spending time
making copies on shutdown
</content>
</entry>
<entry>
<title>SL-18809: Merge 'DRTVWR-559' of secondlife/viewer into sl-18809</title>
<updated>2022-12-09T21:34:28Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2022-12-09T21:34:28Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=f41278082f2ab204ec60c15ee1530ca4440937a5'/>
<id>urn:sha1:f41278082f2ab204ec60c15ee1530ca4440937a5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>SL-18809: Add WorkSchedule; remove timestamps from WorkQueue.</title>
<updated>2022-12-09T18:21:45Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2022-12-09T18:21:45Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=fc424a0db90fd2d2e44e85a19750ad6eaa57b28a'/>
<id>urn:sha1:fc424a0db90fd2d2e44e85a19750ad6eaa57b28a</id>
<content type='text'>
For work queues that don't need timestamped tasks, eliminate the overhead of a
priority queue ordered by timestamp. Timestamped task support moves to
WorkSchedule. WorkQueue is a simpler queue that just waits for work.

Both WorkQueue and WorkSchedule can be accessed via new WorkQueueBase API. Of
course the WorkQueueBase API doesn't deal with timestamps, but a WorkSchedule
can be accessed directly to post timestamped tasks and then handled normally
(e.g. by ThreadPool) to run them.

Most ThreadPool functionality migrates to new ThreadPoolBase class, with
template subclass ThreadPoolUsing&lt;WorkQueue&gt; or ThreadPoolUsing&lt;WorkSchedule&gt;
depending on need. ThreadPool is now an alias for ThreadPoolUsing&lt;WorkQueue&gt;.
Importantly, ThreadPoolUsing::getQueue() delivers a reference to the specific
queue subclass type, so you can post timestamped tasks on a queue retrieved
from ThreadPoolUsing&lt;WorkSchedule&gt;::getQueue().

Since ThreadPool is no longer a simple class but an alias for a particular
template specialization, introduce threadpool_fwd.h to forward-declare it.

Recast workqueue_test.cpp to exercise WorkSchedule, since some of the tests
are time-based. A future todo would be to exercise each applicable test with
both WorkQueue and WorkSchedule.
</content>
</entry>
<entry>
<title>Fix for non-windows build of DRTVWR-559 use usleep() for sleepy_robin scheduler</title>
<updated>2022-12-08T20:53:51Z</updated>
<author>
<name>Brad Kittenbrink</name>
<email>brad@lindenlab.com</email>
</author>
<published>2022-12-08T20:53:51Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=e3b34fec6962e6deda3dd9dd83bf9fa20ab594af'/>
<id>urn:sha1:e3b34fec6962e6deda3dd9dd83bf9fa20ab594af</id>
<content type='text'>
</content>
</entry>
<entry>
<title>DRTVWR-559: Try using custom fiber scheduler for ThreadPool threads. (#30)</title>
<updated>2022-12-07T18:53:59Z</updated>
<author>
<name>RunitaiLinden</name>
<email>davep@lindenlab.com</email>
</author>
<published>2022-12-07T18:53:59Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=e98091e29859ee6a784ee6920048837f2b4536c2'/>
<id>urn:sha1:e98091e29859ee6a784ee6920048837f2b4536c2</id>
<content type='text'>
Co-authored-by: Nat Goodspeed &lt;nat@lindenlab.com&gt;</content>
</entry>
<entry>
<title>SL-17483: Add integration test for CommonControl</title>
<updated>2022-06-09T21:04:26Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2022-06-09T21:04:26Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=64209ddeeafd944f82da6f13a6e790f9b542b3ff'/>
<id>urn:sha1:64209ddeeafd944f82da6f13a6e790f9b542b3ff</id>
<content type='text'>
and for LLViewerControlListener, to which it talks.

Fix glitches detected by the tests.
</content>
</entry>
</feed>
