diff options
author | 2025-06-22 00:35:34 +0200 | |
---|---|---|
committer | 2025-06-23 08:52:58 +0200 | |
commit | c3010af4ed18e750b5942d810e6da14d49135c59 (patch) | |
tree | f9d007deb5e8e4507e678595ff9661f1cc9f50c6 | |
parent | 95f8af6234ab56c9a831d0f37f338d7b8b3e0cbe (diff) | |
parent | 1307b8587e57deaf95146820b7f32bb9a713892d (diff) |
Merge branch 'file' into nextHEADrouteros-7.20beta4-1nextmain
-rw-r--r-- | global-functions.rsc | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/global-functions.rsc b/global-functions.rsc index 50426b6..829cbf2 100644 --- a/global-functions.rsc +++ b/global-functions.rsc @@ -559,6 +559,12 @@ :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 ]; @@ -1771,14 +1777,26 @@ :global MAX; :set FileName [ $CleanFilePath $FileName ]; - :local Delay ([ $MAX [ $EitherOr $WaitTime 2s ] 100ms ] / 10); + :local Delay ([ $MAX [ $EitherOr $WaitTime 2s ] 100ms ] / 9); :do { - :retry { + :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 { /file/get $FileName; :return true; - } delay=$Delay max=10; - } on-error={ } + } on-error={ } + :delay $Delay; + :set Delay ($Delay * 3 / 2); + } :return false; } |