summaryrefslogtreecommitdiff
path: root/indra/llcommon
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2022-12-07 09:50:02 -0500
committerNat Goodspeed <nat@lindenlab.com>2022-12-07 09:50:02 -0500
commit769bf46a3f4df2ee0dc9167d687a89eaf7547daa (patch)
tree9036400d8994fd0b0d935833ae4421436ed263a7 /indra/llcommon
parent59b826e66e658d9d9a4f19dcabdccbc79ec3590c (diff)
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.
Diffstat (limited to 'indra/llcommon')
0 files changed, 0 insertions, 0 deletions