From f85c0e7e5d005269f5fa0ff196c94538ef642cb1 Mon Sep 17 00:00:00 2001 From: Netkas Date: Fri, 16 Jun 2023 02:30:08 -0400 Subject: [PATCH] Updated \TamerLib > tm > monitor() to do it's own loop for a indefinite timeout. --- src/TamerLib/tm.php | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/src/TamerLib/tm.php b/src/TamerLib/tm.php index ccf667f..ba3306e 100644 --- a/src/TamerLib/tm.php +++ b/src/TamerLib/tm.php @@ -228,14 +228,38 @@ */ public static function monitor(int $timeout=0): void { - try + if($timeout > 0) { - self::$supervisor?->monitor($timeout); - self::$server?->monitor($timeout); + try + { + self::$supervisor?->monitor($timeout); + self::$server?->monitor($timeout); + } + catch(Exception $e) + { + Log::error(Utilities::getName(), $e->getMessage(), $e); + } } - catch(Exception $e) + else { - Log::error(Utilities::getName(), $e->getMessage(), $e); + $start_time = time(); + while(true) + { + try + { + self::$supervisor?->monitor(-1); + self::$server?->monitor(-1); + } + catch(Exception $e) + { + Log::error(Utilities::getName(), $e->getMessage(), $e); + } + + if(time() - $start_time >= $timeout) + { + break; + } + } } }