Removed pthreads workarounds

This commit is contained in:
Shoghi Cervantes 2014-09-10 15:11:56 +02:00
parent 8c939feed9
commit f4ae58dda2
5 changed files with 10 additions and 5 deletions

View File

@ -29,6 +29,6 @@ abstract class Thread extends \Thread{
public final function start($options = PTHREADS_INHERIT_ALL){
ThreadManager::getInstance()->add($this);
return parent::start($options & ~PTHREADS_INHERIT_CLASSES);
return parent::start($options);
}
}

View File

@ -29,6 +29,6 @@ abstract class Worker extends \Worker{
public final function start($options = PTHREADS_INHERIT_ALL){
ThreadManager::getInstance()->add($this);
return parent::start($options & ~PTHREADS_INHERIT_CLASSES);
return parent::start($options);
}
}

View File

@ -92,7 +92,7 @@ class GenerationThread extends Thread{
error_reporting(-1);
//Load removed dependencies, can't use require_once()
foreach($this->loadPaths as $name => $path){
if(!class_exists($name, false) and !class_exists($name, false)){
if(!class_exists($name, false) and !interface_exists($name, false)){
require($path);
}
}

View File

@ -433,6 +433,7 @@ class PluginManager{
*/
public function unsubscribeFromPermission($permission, Permissible $permissible){
if(isset($this->permSubs[$permission])){
$this->permSubs[$permission][spl_object_hash($permissible)]->release();
unset($this->permSubs[$permission][spl_object_hash($permissible)]);
}
}

View File

@ -26,8 +26,12 @@ use pocketmine\Worker;
class AsyncWorker extends Worker{
public function run(){
require(\pocketmine\PATH . "src/spl/ClassLoader.php");
require(\pocketmine\PATH . "src/spl/BaseClassLoader.php");
if(!interface_exists("ClassLoader", false)){
require(\pocketmine\PATH . "src/spl/ClassLoader.php");
}
if(!class_exists("BaseClassLoader", false)){
require(\pocketmine\PATH . "src/spl/BaseClassLoader.php");
}
$autoloader = new \BaseClassLoader();
$autoloader->addPath(\pocketmine\PATH . "src");
$autoloader->register(true);