From 2315d6bc59e6d2294fadb5f0ab8d712f55793db2 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Mon, 31 May 2021 10:04:45 +0200 Subject: global-functions: $ScriptInstallUpdate: reload functions just once --- global-functions | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/global-functions b/global-functions index 9f5be02..cf4ad7a 100644 --- a/global-functions +++ b/global-functions @@ -709,6 +709,7 @@ } :local ExpectedConfigVersionBefore $ExpectedConfigVersion; + :local ReloadGlobalFunctions false; :local ScriptInstallUpdateBefore [ :tostr $ScriptInstallUpdate ]; :foreach Script in=[ / system script find where source~"^#!rsc( by RouterOS)\?\n" ] do={ @@ -768,12 +769,7 @@ } } :if ($ScriptVal->"name" ~ "^global-functions(\$|\\.d/.)") do={ - $LogPrintExit2 info $0 ("Reloading global functions.") false; - :do { - / system script run global-functions; - } on-error={ - $LogPrintExit2 error $0 ("Reloading global functions failed!") false; - } + :set ReloadGlobalFunctions true; } } else={ $LogPrintExit2 warning $0 ("Syntax validation for script " . $ScriptVal->"name" . \ @@ -791,6 +787,15 @@ } } + :if ($ReloadGlobalFunctions = true) do={ + $LogPrintExit2 info $0 ("Reloading global functions.") false; + :do { + / system script run global-functions; + } on-error={ + $LogPrintExit2 error $0 ("Reloading global functions failed!") false; + } + } + :if ($ExpectedConfigVersionBefore != $ExpectedConfigVersion) do={ :global GlobalConfigChanges; :global GlobalConfigMigration; -- cgit v1.2.3-54-g00ecf