diff --git a/Abstracts/AsyncServer.php b/Abstracts/AsyncServer.php index be25eda..f7c2b36 100644 --- a/Abstracts/AsyncServer.php +++ b/Abstracts/AsyncServer.php @@ -14,6 +14,7 @@ use Psr\Log\LoggerInterface; use ReflectionException; use Kiri\Server\Config as SConfig; use Kiri\Di\LocalService; +use Swoole\Runtime; use Swoole\Server; use Kiri\Server\ServerInterface; use Kiri\Server\Constant; @@ -143,6 +144,9 @@ class AsyncServer implements ServerInterface $settings[Constant::OPTION_DAEMONIZE] = (bool)$daemon; $settings[Constant::OPTION_ENABLE_REUSE_PORT] = true; $settings[Constant::OPTION_PID_FILE] = storage('.swoole.pid'); + if ($settings[Constant::OPTION_ENABLE_COROUTINE] ?? false) { + Runtime::enableCoroutine(); + } if (!isset($settings[Constant::OPTION_PID_FILE])) { $settings[Constant::OPTION_LOG_FILE] = storage('system.log'); }