diff --git a/global-functions.rsc b/global-functions.rsc index 829cbf27..50426b69 100644 --- a/global-functions.rsc +++ b/global-functions.rsc @@ -559,12 +559,6 @@ :set FileGet do={ :local FileName [ :tostr $1 ]; - :global WaitForFile; - - :if ([ $WaitForFile $FileName 0s ] = false) do={ - :return false; - } - :local FileVal false; :do { :set FileVal [ /file/get $FileName ]; @@ -1777,26 +1771,14 @@ :global MAX; :set FileName [ $CleanFilePath $FileName ]; - :local Delay ([ $MAX [ $EitherOr $WaitTime 2s ] 100ms ] / 9); + :local Delay ([ $MAX [ $EitherOr $WaitTime 2s ] 100ms ] / 10); :do { - :retry { - :if ([ :len [ /file/find where name=$FileName ] ] = 0) do={ - :error false; - } - } delay=$Delay max=10; - } on-error={ - :return false; - } - - :while ([ :len [ /file/find where name=$FileName ] ] > 0) do={ - :do { + :retry { /file/get $FileName; :return true; - } on-error={ } - :delay $Delay; - :set Delay ($Delay * 3 / 2); - } + } delay=$Delay max=10; + } on-error={ } :return false; } diff --git a/packages-update.rsc b/packages-update.rsc index d3140f29..43f67494 100644 --- a/packages-update.rsc +++ b/packages-update.rsc @@ -41,8 +41,7 @@ /system/reboot; } - :local Interval [ $IfThenElse ([ :totime $PackagesUpdateDeferReboot ] >= 1d) \ - $PackagesUpdateDeferReboot 1d ]; + :local Interval [ $IfThenElse ($PackagesUpdateDeferReboot >= 1d) $PackagesUpdateDeferReboot 1d ]; :local StartTime [ :tostr [ :totime (10800 + [ $GetRandomNumber 7200 ]) ] ]; /system/scheduler/add name="_RebootForUpdate" start-time=$StartTime interval=$Interval \ on-event=("/system/scheduler/remove \"_RebootForUpdate\"; " . \ @@ -159,7 +158,7 @@ :error true; } } else={ - :if ($PackagesUpdateDeferReboot = true || [ :totime $PackagesUpdateDeferReboot ] >= 1d) do={ + :if ($PackagesUpdateDeferReboot = true || $PackagesUpdateDeferReboot >= 1d) do={ $Schedule $ScriptName; :set ExitOK true; :error true;