Better handle locks for EntityTracker and misc

This commit is contained in:
Sotr
2018-08-02 00:43:14 +08:00
parent 9b5b40c002
commit 2ba4bc2755
6 changed files with 50 additions and 36 deletions

View File

@@ -234,11 +234,8 @@ public class PlayerChunkMap {
} // Paper timing
}
boolean unlockRequired = true; // Akarin
managedPlayersLock.readLock().lock(); // Akarin
if (this.managedPlayers.isEmpty()) {
managedPlayersLock.readLock().unlock(); // Akarin
unlockRequired = false; // Akarin
try (Timing ignored = world.timings.doChunkMapUnloadChunks.startTiming()) { // Paper
WorldProvider worldprovider = this.world.worldProvider;
@@ -247,7 +244,7 @@ public class PlayerChunkMap {
}
} // Paper timing
}
if (unlockRequired) managedPlayersLock.readLock().unlock(); // Akarin
managedPlayersLock.readLock().unlock(); // Akarin
}