From 6027ce52ab28925638b8535e8ffaa6d45a060447 Mon Sep 17 00:00:00 2001 From: Deon George Date: Tue, 20 Jul 2021 00:23:41 +1000 Subject: [PATCH] Fix child processes exiting --- app/Classes/Protocol/Binkp.php | 1 + app/Classes/Protocol/EMSI.php | 1 + app/Classes/Sock/SocketServer.php | 4 ++-- app/Console/Commands/StartServer.php | 4 +++- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/Classes/Protocol/Binkp.php b/app/Classes/Protocol/Binkp.php index d528649..2adde5f 100644 --- a/app/Classes/Protocol/Binkp.php +++ b/app/Classes/Protocol/Binkp.php @@ -103,6 +103,7 @@ final class Binkp extends BaseProtocol $this->session(self::SESSION_BINKP,$client,(new Address)); $this->client->close(); Log::info(sprintf('%s: = End - Connection closed [%s]',__METHOD__,$client->address_remote)); + exit(0); } return NULL; diff --git a/app/Classes/Protocol/EMSI.php b/app/Classes/Protocol/EMSI.php index df35492..46c7a52 100644 --- a/app/Classes/Protocol/EMSI.php +++ b/app/Classes/Protocol/EMSI.php @@ -83,6 +83,7 @@ final class EMSI extends BaseProtocol implements CRCInterface,ZmodemInterface $this->session(self::SESSION_AUTO,$client,(new Address)); $this->client->close(); Log::info(sprintf('%s: = End - Connection closed [%s]',__METHOD__,$client->address_remote)); + exit(0); } return NULL; diff --git a/app/Classes/Sock/SocketServer.php b/app/Classes/Sock/SocketServer.php index 80f389d..a5fb7e0 100644 --- a/app/Classes/Sock/SocketServer.php +++ b/app/Classes/Sock/SocketServer.php @@ -84,11 +84,11 @@ final class SocketServer { $this->loop(); socket_close($this->server); - Log::info(sprintf('CLosed [%s:%d]',$this->bind,$this->port),['m'=>__METHOD__]); + Log::info(sprintf('Closed [%s:%d]',$this->bind,$this->port),['m'=>__METHOD__]); } /** - * Manage and execute incoming connecitons + * Manage and execute incoming connections * * @throws SocketException */ diff --git a/app/Console/Commands/StartServer.php b/app/Console/Commands/StartServer.php index 7893d54..476ca44 100644 --- a/app/Console/Commands/StartServer.php +++ b/app/Console/Commands/StartServer.php @@ -30,6 +30,7 @@ class StartServer extends Command * Execute the console command. * * @return mixed + * @throws \Exception */ public function handle() { @@ -53,6 +54,7 @@ class StartServer extends Command $children = collect(); Log::debug(sprintf('%s:+ Starting Servers...',__METHOD__)); + pcntl_signal(SIGCHLD,SIG_IGN); foreach ($start as $item => $config) { Log::debug(sprintf('%s: - Starting: [%s]',__METHOD__,$item)); @@ -97,6 +99,6 @@ class StartServer extends Command } // Done - Log::debug(sprintf('%s:= Finished.',__METHOD__)); + Log::debug(sprintf('%s: = Finished.',__METHOD__)); } }