Skip to content

Commit 0764c26

Browse files
committed
WriteUtf8File has been made more robust in case a race condition prevents it from accessing a file
1 parent 6f7f550 commit 0764c26

File tree

9 files changed

+12
-36
lines changed

9 files changed

+12
-36
lines changed

.gitignore

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1-
.acre
1+
.acre/
2+
aplcore
23
Dist/
3-
Development.dws
4+
.gitignore

APLSource/APLTreeUtils.apln

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
:Namespace APLTreeUtils
22

3-
⍝ *** Version 6.0.0 ⋄ 2020-03-21 ***
3+
⍝ *** Version 6.0.1 ⋄ 2020-05-29 ***
44
⍝ ## Overview
55
⍝ Note that `APLTreeUtils` does not work with the Classic edition - it requires Unicode.\\
66
⍝ ## Version History
7+
⍝ * 6.0.1
8+
⍝ `WriteUtf8File` has been made more robust in case a race condition prevents it from accessing a file
79
⍝ * 6.0.0
810
⍝ * Renamed: it's now APLTreeUtils.apln rather than APLTreeUtils.dyalog
911
⍝ Kai Jaeger - APL Team Ltd.\\
@@ -214,7 +216,7 @@
214216
max←5
215217
fno←0⍴i←size←flag←0
216218
:Repeat
217-
⎕DL 1×i>0
219+
⎕DL i×0.1
218220
:If wasOpenFlag←0=1↑0⍴fileIdentifier
219221
fno←fileIdentifier
220222
size←⎕NSIZE fno
@@ -229,11 +231,14 @@
229231
:Case 22
230232
fno←(filename~'"')⎕NCREATE 0
231233
flag←1
234+
:Case 19
235+
⍝ Try again
232236
:Else
233237
('Could not open file ',filename)⎕SIGNAL ⎕EN
234238
:EndTrap
235239
:EndIf
236240
:Until flag∨max<i←i+1
241+
⎕DMX.EM ⎕SIGNAL ⎕EN/⍨0=≢fno
237242
:If append
238243
:AndIf (0<size)∧~simpleFlag
239244
data,⍨←newline

APLSource/TestCases/Test_013.aplf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
⎕TRAP←(999 'C' '. ⍝ Deliberate error')(0 'N')
66
home←GetTestFilesHome
77
filename←home,'tiedFile'
8+
##.APLTreeUtils.WriteUtf8File filename'test file'
89

910
:If 'Win'≡##.APLTreeUtils.GetOperatingSystem ⍬
1011
cs←##.Execute.DefaultParms

Make/Make.bat

Lines changed: 0 additions & 2 deletions
This file was deleted.

Tests/Tie.DWS

13.4 KB
Binary file not shown.

package.json

Lines changed: 0 additions & 28 deletions
This file was deleted.

pnpm-debug.log

Lines changed: 0 additions & 1 deletion
This file was deleted.

project.dws

-226 KB
Binary file not shown.

publish.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<tool name="APLTreeUtils"> <version>6.0.0</version> <date>2020-03-21</date> <container>#.APLTreeUtils</container> <needs> <script>APLTreeUtils</script> <script>FilesAndDirs</script> <script>OS</script> <script>Logger</script> <script>Execute</script> <script development="true">Tester2</script> </needs> <autoload>1</autoload> <scriptOnly>1</scriptOnly> <buildid>1</buildid> <package>1</package></tool>
1+
<tool name="APLTreeUtils"> <version>6.0.1</version> <date>2020-05-29</date> <container>#.APLTreeUtils</container> <needs> <script>APLTreeUtils</script> <script development="true">FilesAndDirs</script> <script development="true">OS</script> <script development="true">Logger</script> <script development="true">Execute</script> <script development="true">Tester2</script> </needs> <autoload>1</autoload> <scriptOnly>1</scriptOnly> <buildid>1</buildid> <package>1</package> <desc>General utilities :Included by most members of the APLTree library</desc> <tags>Utilities;Linux;Mac-OS;Windows</tags></tool>

0 commit comments

Comments
 (0)