Go to file
Nat Goodspeed 769bf46a3f SL-14399: Ditch overflow queue LLViewerAssetStorage::mCoroWaitList.
mCoroWaitList was introduced to prevent an assertion failure crash:
LLCoprocedureManager never expects to fill LLCoprocedurePool::mPendingCoprocs
queue. The queue limit was arbitrarily set to 4096 some years ago, but in
practice LLViewerAssetStorage can post way more requests than that.

LLViewerAssetStorage checked whether the target LLCoprocedureManager pool's
queue looked close to full, and if so posted the pending request to its
mCoroWaitList instead. But then it had to override the base LLAssetStorage
method checkForTimeouts() to continually check whether pending tasks could be
moved from mCoroWaitList to LLCoprocedureManager.

A simpler solution is to enlarge LLCorpocedureManager::DEFAULT_QUEUE_SIZE, the
upper limit on mPendingCoprocs. Since mCoroWaitList was an unlimited queue,
making DEFAULT_QUEUE_SIZE "very large" does not increase the risk of runaway
memory consumption.
2022-12-07 09:50:02 -05:00
.github Merge pull request #4 from secondlife/signal/stale 2022-11-21 16:02:02 -08:00
doc Fix spelling error on license file name 2022-11-18 06:23:11 -05:00
etc SL-694 - stub support for ObjectAnimation message type 2017-05-30 22:03:43 +01:00
indra SL-14399: Ditch overflow queue LLViewerAssetStorage::mCoroWaitList. 2022-12-07 09:50:02 -05:00
scripts Update default URL for message template in template_verifier.py as well 2022-11-21 21:15:01 +01:00
.clang-format DRTVWR-497 tweak clang-format rules for argument packing 2020-08-24 13:52:57 -06:00
.gitignore DRTVWR-546 merge up to 6.5.2 2021-12-15 14:37:18 -07:00
.pre-commit-config.yaml SL-15741: Add pre-commit configuration 2022-01-24 18:47:10 +02:00
BuildParams Merge branch 'SL-15742' into DRTVWR-527-maint 2021-12-16 00:58:44 +02:00
LICENSE Renamed LICENSE.txt to follow naming scheme of other repos 2022-11-18 17:10:03 -05:00
README.md Fix readme logo for dark theme sites 2022-11-18 06:22:43 -05:00
autobuild.xml SL-18218: Switch canonical_repo to GitHub URL 2022-10-17 13:22:56 -07:00
build.sh DRTVWR-546 merge in master v6.5.1 2021-11-16 11:44:55 -07:00

README.md

Second Life Logo

Second Life is a free 3D virtual world where users can create, connect and chat with others from around the world. This repository contains the source code for the official client.

Open Source

Second Life provides a huge variety of tools for expression, content creation, socialization and play. Its vibrancy is only possible because of input and contributions from its residents. The client codebase has been open source since 2007 and is available under the LGPL license. The Open Source Portal contains additional information about Linden Lab's open source history and projects.

Download

Most people use a pre-built viewer release to access Second Life. Windows and macOS builds are published on the official website. More experimental viewers, such as release candidates and project viewers, are detailed on the Alternate Viewers page.

Third Party Viewers

Third party maintained forks, which include Linux compatible builds, are indexed in the Third Party Viewer Directory.

Build Instructions

Windows

Mac

Linux

Contribute

Help make Second Life better! You can get involved with improvements by filing bugs, suggesting enhancements, submitting pull requests and more. See the open source portal for details.