From 8c627bd0afa0f65e6354a8a72701f4af5e987629 Mon Sep 17 00:00:00 2001 From: Shoghi Cervantes Date: Thu, 18 Sep 2014 11:44:16 +0200 Subject: [PATCH] Remove level locks, possible fix for #2046 --- src/pocketmine/level/format/anvil/RegionLoader.php | 1 - src/pocketmine/level/format/mcregion/McRegion.php | 2 +- src/pocketmine/level/format/mcregion/RegionLoader.php | 4 ---- 3 files changed, 1 insertion(+), 6 deletions(-) diff --git a/src/pocketmine/level/format/anvil/RegionLoader.php b/src/pocketmine/level/format/anvil/RegionLoader.php index d95ac6f53..f71faba4a 100644 --- a/src/pocketmine/level/format/anvil/RegionLoader.php +++ b/src/pocketmine/level/format/anvil/RegionLoader.php @@ -45,7 +45,6 @@ class RegionLoader extends \pocketmine\level\format\mcregion\RegionLoader{ $this->filePath = $this->levelProvider->getPath() . "region/r.$regionX.$regionZ.mca"; touch($this->filePath); $this->filePointer = fopen($this->filePath, "r+b"); - flock($this->filePointer, LOCK_EX); stream_set_read_buffer($this->filePointer, 1024 * 16); //16KB stream_set_write_buffer($this->filePointer, 1024 * 16); //16KB if(!file_exists($this->filePath)){ diff --git a/src/pocketmine/level/format/mcregion/McRegion.php b/src/pocketmine/level/format/mcregion/McRegion.php index 5cca7ba47..8d6399b66 100644 --- a/src/pocketmine/level/format/mcregion/McRegion.php +++ b/src/pocketmine/level/format/mcregion/McRegion.php @@ -191,7 +191,7 @@ class McRegion extends BaseLevelProvider{ public function unloadChunk($x, $z, $safe = true){ $chunk = $this->getChunk($x, $z, false); if($chunk instanceof FullChunk){ - if($safe === true and $this->isChunkLoaded($x, $z)){ + if($safe === true){ foreach($chunk->getEntities() as $entity){ if($entity instanceof Player){ return false; diff --git a/src/pocketmine/level/format/mcregion/RegionLoader.php b/src/pocketmine/level/format/mcregion/RegionLoader.php index 8b6b40a0e..3486a072a 100644 --- a/src/pocketmine/level/format/mcregion/RegionLoader.php +++ b/src/pocketmine/level/format/mcregion/RegionLoader.php @@ -55,7 +55,6 @@ class RegionLoader{ $this->filePath = $this->levelProvider->getPath() . "region/r.$regionX.$regionZ.mcr"; touch($this->filePath); $this->filePointer = fopen($this->filePath, "r+b"); - flock($this->filePointer, LOCK_EX); stream_set_read_buffer($this->filePointer, 1024 * 16); //16KB stream_set_write_buffer($this->filePointer, 1024 * 16); //16KB if(!file_exists($this->filePath)){ @@ -67,9 +66,7 @@ class RegionLoader{ public function __destruct(){ if(is_resource($this->filePointer)){ - $this->cleanGarbage(); $this->writeLocationTable(); - flock($this->filePointer, LOCK_UN); fclose($this->filePointer); } } @@ -199,7 +196,6 @@ class RegionLoader{ public function close(){ $this->writeLocationTable(); - flock($this->filePointer, LOCK_UN); fclose($this->filePointer); }