]> code.citadel.org Git - citadel.git/commitdiff
Fixed a bug in the threading code that would prevent new threads starting.
authorDave West <davew@uncensored.citadel.org>
Sat, 31 Oct 2009 15:29:37 +0000 (15:29 +0000)
committerDave West <davew@uncensored.citadel.org>
Sat, 31 Oct 2009 15:29:37 +0000 (15:29 +0000)
It was possible for threads that are running (not idle) to still be
marked as Blocked (idle).

Also Identified another problem that could prevent threads from starting.
If all existing worker threads were given a task during the same GC tick
then the system load average would go to 100% and prevent new threads.
This was due to a bad method of calculating the load average. We always
wanted the machine load average to limit the creation of new threads
so that the machine didn't become overloaded. Now we get the machine load
and use that to limit new threads. We also log a WARNING in this event.


No differences found