World: fixed population timer sometimes not being stopped

This commit is contained in:
Dylan K. Taylor 2023-02-21 18:31:33 +00:00
parent b574d49d36
commit efdd7a186d
No known key found for this signature in database
GPG Key ID: 8927471A91CAFD3D

View File

@ -3118,6 +3118,7 @@ class World implements ChunkManager{
Timings::$population->startTiming();
try{
for($xx = -1; $xx <= 1; ++$xx){
for($zz = -1; $zz <= 1; ++$zz){
if($this->isChunkLocked($chunkX + $xx, $chunkZ + $zz)){
@ -3135,7 +3136,8 @@ class World implements ChunkManager{
$chunkPopulationLockId = new ChunkLockId();
$temporaryChunkLoader = new class implements ChunkLoader{};
$temporaryChunkLoader = new class implements ChunkLoader{
};
for($xx = -1; $xx <= 1; ++$xx){
for($zz = -1; $zz <= 1; ++$zz){
$this->lockChunk($chunkX + $xx, $chunkZ + $zz, $chunkPopulationLockId);
@ -3169,8 +3171,10 @@ class World implements ChunkManager{
}
$this->workerPool->submitTaskToWorker($task, $workerId);
Timings::$population->stopTiming();
return $resolver->getPromise();
}finally{
Timings::$population->stopTiming();
}
}
/**