Aerys\WorkerProcess::doStart PHP Method

doStart() protected method

protected doStart ( Console $console ) : Generator
$console Console
return Generator
    protected function doStart(Console $console) : \Generator
    {
        // Shutdown the whole server in case we needed to stop during startup
        register_shutdown_function(function () use($console) {
            if (!$this->server) {
                // ensure a clean reactor for clean shutdown
                $reactor = \Amp\reactor();
                $filesystem = \Amp\File\filesystem();
                \Amp\reactor(\Amp\driver());
                \Amp\File\filesystem(\Amp\File\driver());
                \Amp\wait((new CommandClient((string) $console->getArg("config")))->stop());
                \Amp\File\filesystem($filesystem);
                \Amp\reactor($reactor);
            }
        });
        $server = (yield from $this->bootstrapper->boot($this->logger, $console));
        (yield $server->start());
        $this->server = $server;
        \Amp\onReadable($this->ipcSock, function ($watcherId) {
            \Amp\cancel($watcherId);
            yield from $this->stop();
        });
    }