diff options
author | Monty Brandenberg <monty@lindenlab.com> | 2012-06-07 17:46:22 -0400 |
---|---|---|
committer | Monty Brandenberg <monty@lindenlab.com> | 2012-06-07 17:46:22 -0400 |
commit | 196e1d46bdc8b35b2e79d8a9d6a693ebeeeb19d3 (patch) | |
tree | 0cd2d466077117a62e2b57ded2518db5578a48b4 /indra/test | |
parent | 96b2430d8daaab692068e278f0048fdd47ed3e7e (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