Level: don't try to unregister generators from non-live workers

this was causing garbage-collected workers to get restarted on shutdown if they previously had the generator registered for that level.
This commit is contained in:
Dylan K. Taylor 2018-07-25 18:52:17 +01:00
parent 706c620d04
commit 24f11779f2

View File

@ -383,8 +383,10 @@ class Level implements ChunkManager, Metadatable{
public function unregisterGenerator(){
$pool = $this->server->getAsyncPool();
foreach($this->generatorRegisteredWorkers as $i => $bool){
$pool->submitTaskToWorker(new GeneratorUnregisterTask($this), $i);
foreach($pool->getRunningWorkers() as $i){
if(isset($this->generatorRegisteredWorkers[$i])){
$pool->submitTaskToWorker(new GeneratorUnregisterTask($this), $i);
}
}
$this->generatorRegisteredWorkers = [];
}