summaryrefslogtreecommitdiff
path: root/indra/test
diff options
context:
space:
mode:
authorMonty Brandenberg <monty@lindenlab.com>2012-06-07 17:46:22 -0400
committerMonty Brandenberg <monty@lindenlab.com>2012-06-07 17:46:22 -0400
commit196e1d46bdc8b35b2e79d8a9d6a693ebeeeb19d3 (patch)
tree0cd2d466077117a62e2b57ded2518db5578a48b4 /indra/test
parent96b2430d8daaab692068e278f0048fdd47ed3e7e (diff)
Lock/Mutex fixes, documentation, new resource wait state, dtor cleanups
Went through all the code and tried to document lock and thread usage in the module. There's a huge comment block introducing all of this at the beginning and I believe it's correct (though not quite complete). Keep it updated, people. Added a new state, WAIT_HTTP_RESOURCE, that's sort of a side-state of SEND_HTTP_REQ. If we hit a high-water mark for HTTP requests, the extra are shunted to the new state once. Once levels fall to a low-water mark, we run through a wait list of UUIDs, sort the valid ones by priority and release them for service. This keeps the HTTP layer busy while leaving the active queue shallow enough that requests can still be re-prioritzed cheaply. Priority model changed. The new state uses the PRIORITY_LOW mask, the old users of _LOW are now at PRIORITY_NORMAL and sleepers woken up after an external event are kicked off at PRIORITY_HIGH. This combination along with the new state should avoid priority inversion and keep things running without resorting to an infinite pipeline. New state displays as "HTW" with green text in the texture console. Request cancelation and worker run-down should now be more correct but this edge case may need more attention.
Diffstat (limited to 'indra/test')
0 files changed, 0 insertions, 0 deletions