diff --git a/Handler/OnServer.php b/Handler/OnServer.php index 29ac236..c194942 100644 --- a/Handler/OnServer.php +++ b/Handler/OnServer.php @@ -10,7 +10,9 @@ use Kiri\Server\Abstracts\Server; use Kiri\Server\Events\OnBeforeShutdown; use Kiri\Server\Events\OnShutdown; use Kiri\Server\Events\OnStart; -use Swoole\Server as SServer; +use Swoole\Server as SServer; +use Swoole\Process; +use const SIGINT; /** @@ -32,11 +34,14 @@ class OnServer extends Server * @param SServer $server * @throws */ - public function onStart(SServer $server): void - { - Kiri::setProcessName(sprintf('Master[%d]', $server->master_pid)); - - event(new OnStart($server)); + public function onStart(SServer $server): void + { + Kiri::setProcessName(sprintf('Master[%d]', $server->master_pid)); + Process::signal(SIGINT, static function () use ($server): void { + $server->shutdown(); + }); + + event(new OnStart($server)); }