From 34dc6ea0d6b0c72b54497cbea4783699404d491d Mon Sep 17 00:00:00 2001 From: Shoghi Cervantes Date: Wed, 12 Aug 2015 21:14:39 +0200 Subject: [PATCH] NOTE! THIS SHOULD BE REVERTED LATER! Removed WeakRef dependency --- src/pocketmine/MemoryManager.php | 7 ------- src/pocketmine/PocketMine.php | 5 ----- src/pocketmine/metadata/MetadataStore.php | 6 +++--- src/pocketmine/metadata/MetadataValue.php | 4 ++-- src/pocketmine/plugin/PluginManager.php | 9 ++++++--- 5 files changed, 11 insertions(+), 20 deletions(-) diff --git a/src/pocketmine/MemoryManager.php b/src/pocketmine/MemoryManager.php index e3c429d78..22bd10de0 100644 --- a/src/pocketmine/MemoryManager.php +++ b/src/pocketmine/MemoryManager.php @@ -55,13 +55,6 @@ class MemoryManager{ private $chunkCache; private $cacheTrigger; - /** @var \WeakRef[] */ - private $leakWatch = []; - - private $leakInfo = []; - - private $leakSeed = 0; - public function __construct(Server $server){ $this->server = $server; diff --git a/src/pocketmine/PocketMine.php b/src/pocketmine/PocketMine.php index f3dd7997f..082205d8b 100644 --- a/src/pocketmine/PocketMine.php +++ b/src/pocketmine/PocketMine.php @@ -410,11 +410,6 @@ namespace pocketmine { } } - if(!extension_loaded("Weakref") and !extension_loaded("weakref")){ - $logger->critical("Unable to find the Weakref extension."); - ++$errors; - } - if(!extension_loaded("curl")){ $logger->critical("Unable to find the cURL extension."); ++$errors; diff --git a/src/pocketmine/metadata/MetadataStore.php b/src/pocketmine/metadata/MetadataStore.php index 77e4ef03c..420cfc181 100644 --- a/src/pocketmine/metadata/MetadataStore.php +++ b/src/pocketmine/metadata/MetadataStore.php @@ -29,7 +29,7 @@ use pocketmine\utils\PluginException; abstract class MetadataStore{ /** @var \WeakMap[] */ - private $metadataMap = []; + private $metadataMap; /** * Adds a metadata value to an object. @@ -48,8 +48,8 @@ abstract class MetadataStore{ $key = $this->disambiguate($subject, $metadataKey); if(!isset($this->metadataMap[$key])){ - $entry = new \WeakMap(); - $this->metadataMap[$key] = $entry; + //$entry = new \WeakMap(); + $this->metadataMap[$key] = new \SplObjectStorage();//$entry; }else{ $entry = $this->metadataMap[$key]; } diff --git a/src/pocketmine/metadata/MetadataValue.php b/src/pocketmine/metadata/MetadataValue.php index fb273718f..4b927eaaf 100644 --- a/src/pocketmine/metadata/MetadataValue.php +++ b/src/pocketmine/metadata/MetadataValue.php @@ -28,14 +28,14 @@ abstract class MetadataValue{ private $owningPlugin; protected function __construct(Plugin $owningPlugin){ - $this->owningPlugin = new \WeakRef($owningPlugin); + $this->owningPlugin = $owningPlugin; } /** * @return Plugin */ public function getOwningPlugin(){ - return $this->owningPlugin->get(); + return $this->owningPlugin; } /** diff --git a/src/pocketmine/plugin/PluginManager.php b/src/pocketmine/plugin/PluginManager.php index 3a09bc0c5..4110bb73d 100644 --- a/src/pocketmine/plugin/PluginManager.php +++ b/src/pocketmine/plugin/PluginManager.php @@ -433,7 +433,7 @@ class PluginManager{ if(!isset($this->permSubs[$permission])){ $this->permSubs[$permission] = []; } - $this->permSubs[$permission][spl_object_hash($permissible)] = new \WeakRef($permissible); + $this->permSubs[$permission][spl_object_hash($permissible)] = $permissible; } /** @@ -456,6 +456,7 @@ class PluginManager{ */ public function getPermissionSubscriptions($permission){ if(isset($this->permSubs[$permission])){ + return $this->permSubs[$permission]; $subs = []; foreach($this->permSubs[$permission] as $k => $perm){ /** @var \WeakRef $perm */ @@ -479,9 +480,9 @@ class PluginManager{ */ public function subscribeToDefaultPerms($op, Permissible $permissible){ if($op === true){ - $this->defSubsOp[spl_object_hash($permissible)] = new \WeakRef($permissible); + $this->defSubsOp[spl_object_hash($permissible)] = $permissible; }else{ - $this->defSubs[spl_object_hash($permissible)] = new \WeakRef($permissible); + $this->defSubs[spl_object_hash($permissible)] = $permissible; } } @@ -506,6 +507,7 @@ class PluginManager{ $subs = []; if($op === true){ + return $this->defSubsOp; foreach($this->defSubsOp as $k => $perm){ /** @var \WeakRef $perm */ if($perm->acquire()){ @@ -516,6 +518,7 @@ class PluginManager{ } } }else{ + return $this->defSubs; foreach($this->defSubs as $k => $perm){ /** @var \WeakRef $perm */ if($perm->acquire()){