aboutsummaryrefslogtreecommitdiffstats
path: root/lib/stdlib/src
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2013-03-19 09:46:33 +0100
committerHans Bolinder <[email protected]>2013-03-19 09:46:33 +0100
commite3bd19e7cde34070f60a83e180279040284b0034 (patch)
treec0930c875741df9c1c4f46b88507b11b70cfda96 /lib/stdlib/src
parent0c713345472e69bc1b31e81306e5e2c6dd061653 (diff)
parentab15d1c6ea041f1d4a8b5897f9f4ca7c4c4d86d0 (diff)
downloadotp-e3bd19e7cde34070f60a83e180279040284b0034.tar.gz
otp-e3bd19e7cde34070f60a83e180279040284b0034.tar.bz2
otp-e3bd19e7cde34070f60a83e180279040284b0034.zip
Merge branch 'maint'
* maint: Fix a test case Fix a test case Fix a test case bug Fix a test case bug Remove ?line from dets_SUITE.erl Adjust dets.erl to cope with an evil test case Correct a disk_log testcase
Diffstat (limited to 'lib/stdlib/src')
-rw-r--r--lib/stdlib/src/dets.erl14
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/stdlib/src/dets.erl b/lib/stdlib/src/dets.erl
index ecb509f4b5..45aef0ea80 100644
--- a/lib/stdlib/src/dets.erl
+++ b/lib/stdlib/src/dets.erl
@@ -2837,14 +2837,18 @@ fsck_try(Fd, Tab, FH, Fname, SlotNumbers, Version) ->
tempfile(Fname) ->
Tmp = lists:concat([Fname, ".TMP"]),
+ tempfile(Tmp, 10).
+
+tempfile(Tmp, 0) ->
+ Tmp;
+tempfile(Tmp, N) ->
case file:delete(Tmp) of
{error, eacces} -> % 'dets_process_died' happened anyway... (W-nd-ws)
- timer:sleep(5000),
- file:delete(Tmp);
+ timer:sleep(1000),
+ tempfile(Tmp, N-1);
_ ->
- ok
- end,
- Tmp.
+ Tmp
+ end.
%% -> {ok, NewHead} | {try_again, integer()} | Error
fsck_try_est(Head, Fd, Fname, SlotNumbers, FH) ->