Permalink
Browse files

Added GarbageCollectionTask, workaround for weird PHP behaviour when …

…using --disable-ansi
  • Loading branch information...
1 parent ed02026 commit 37fd0372cc349a2cbac470399490339d8a68d834 @shoghicp shoghicp committed Jan 6, 2015
Showing with 35 additions and 0 deletions.
  1. +3 −0 src/pocketmine/Server.php
  2. +32 −0 src/pocketmine/scheduler/GarbageCollectionTask.php
@@ -86,6 +86,7 @@
use pocketmine\plugin\PluginLoadOrder;
use pocketmine\plugin\PluginManager;
use pocketmine\scheduler\CallbackTask;
+use pocketmine\scheduler\GarbageCollectionTask;
use pocketmine\scheduler\SendUsageTask;
use pocketmine\scheduler\ServerScheduler;
use pocketmine\tile\Chest;
@@ -1688,6 +1689,8 @@ public function __construct(\ClassLoader $autoloader, \ThreadedLogger $logger, $
$this->scheduler->scheduleDelayedRepeatingTask(new CallbackTask([$this, "doLevelGC"]), $this->getProperty("chunk-gc.period-in-ticks", 600), $this->getProperty("chunk-gc.period-in-ticks", 600));
}
+ $this->scheduler->scheduleRepeatingTask(new GarbageCollectionTask(), 900);
+
$this->enablePlugins(PluginLoadOrder::POSTWORLD);
$this->start();
@@ -0,0 +1,32 @@
+<?php
+
+/*
+ *
+ * ____ _ _ __ __ _ __ __ ____
+ * | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
+ * | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
+ * | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
+ * |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * @author PocketMine Team
+
+ *
+ *
+*/
+
+namespace pocketmine\scheduler;
+
+class GarbageCollectionTask extends Task{
+
+ public function onRun($currentTicks){
+ gc_collect_cycles();
+ memory_get_usage();
+ memory_get_usage(true);
+ }
+
+}

0 comments on commit 37fd037

Please sign in to comment.