Prevent unbounded TickList growth on busy servers (>1000 events/tick). This completes another Bleeding request.

This commit is contained in:
Mike Primm 2011-12-14 08:58:01 -06:00 committed by Nathan Adams
parent 52c526f313
commit cc05bea457

View File

@ -2306,7 +2306,13 @@ public class World implements IBlockAccess {
throw new IllegalStateException("TickNextTick list out of synch");
} else {
if (i > 1000) {
i = 1000;
// CraftBukkit start - if the server has too much to process over time, try to alleviate that
if(i > 20 * 1000) {
i = i / 20;
} else {
i = 1000;
}
// CraftBukkit end
}
for (int j = 0; j < i; ++j) {