mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-04 08:56:15 +00:00
Changed how exceptions work and are logged, throw proper exceptions on tasks
This commit is contained in:
@ -25,6 +25,14 @@ use pocketmine\Worker;
|
||||
|
||||
class AsyncWorker extends Worker{
|
||||
|
||||
private $logger;
|
||||
private $id;
|
||||
|
||||
public function __construct(\ThreadedLogger $logger, $id){
|
||||
$this->logger = $logger;
|
||||
$this->id = $id;
|
||||
}
|
||||
|
||||
public function run(){
|
||||
$this->registerClassLoader();
|
||||
gc_enable();
|
||||
@ -32,14 +40,13 @@ class AsyncWorker extends Worker{
|
||||
|
||||
global $store;
|
||||
$store = [];
|
||||
|
||||
}
|
||||
|
||||
public function start(int $options = PTHREADS_INHERIT_NONE){
|
||||
parent::start(PTHREADS_INHERIT_CONSTANTS | PTHREADS_INHERIT_FUNCTIONS);
|
||||
public function handleException(\Throwable $e){
|
||||
$this->logger->logException($e);
|
||||
}
|
||||
|
||||
public function getThreadName(){
|
||||
return "Asynchronous Worker";
|
||||
return "Asynchronous Worker #" . $this->id;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user