From 82cf38d46c2d1dd1e8896e52bd6d042952985dc1 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Tue, 31 Jan 2017 12:05:56 +0000 Subject: [PATCH] Installer: No need for force-kills --- src/pocketmine/PocketMine.php | 10 ++++++++-- src/pocketmine/wizard/Installer.php | 10 +++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/pocketmine/PocketMine.php b/src/pocketmine/PocketMine.php index 8e3b5cc91..b0124692c 100644 --- a/src/pocketmine/PocketMine.php +++ b/src/pocketmine/PocketMine.php @@ -479,10 +479,17 @@ namespace pocketmine { @define("INT32_MASK", is_int(0xffffffff) ? 0xffffffff : -1); @ini_set("opcache.mmap_base", bin2hex(random_bytes(8))); //Fix OPCache address errors + if(!file_exists(\pocketmine\DATA . "server.properties") and !isset($opts["no-wizard"])){ - new Installer(); + $installer = new Installer(); + if(!$installer->run()){ + $logger->shutdown(); + $logger->join(); + exit(-1); + } } + if(\Phar::running(true) === ""){ $logger->warning("Non-packaged PocketMine-MP installation detected, do not use on production."); } @@ -496,7 +503,6 @@ namespace pocketmine { $killer->start(); $erroredThreads = 0; - foreach(ThreadManager::getInstance()->getAll() as $id => $thread){ $logger->debug("Stopping " . $thread->getThreadName() . " thread"); try{ diff --git a/src/pocketmine/wizard/Installer.php b/src/pocketmine/wizard/Installer.php index 52ecf1f55..5e9676104 100644 --- a/src/pocketmine/wizard/Installer.php +++ b/src/pocketmine/wizard/Installer.php @@ -38,6 +38,10 @@ class Installer{ private $lang; public function __construct(){ + + } + + public function run(){ echo "[*] PocketMine-MP set-up wizard\n"; echo "[*] Please select a language:\n"; foreach(InstallerLang::$languages as $short => $native){ @@ -57,13 +61,12 @@ class Installer{ echo "[*] " . $this->lang->language_has_been_selected . "\n"; if(!$this->showLicense()){ - \pocketmine\kill(getmypid()); - exit(-1); + return false; } echo "[?] " . $this->lang->skip_installer . " (y/N): "; if(strtolower($this->getInput()) === "y"){ - return; + return true; } echo "\n"; $this->welcome(); @@ -73,6 +76,7 @@ class Installer{ $this->networkFunctions(); $this->endWizard(); + return true; } private function showLicense(){