aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mnesia/test/mnesia_evil_backup.erl
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2015-10-05 11:00:50 +0200
committerErlang/OTP <[email protected]>2015-10-05 11:00:50 +0200
commit192c247af496b6b33775cfad21b8cebdadd96823 (patch)
tree3cf6bf162214d68d024764b44a42d6b0bbe540b8 /lib/mnesia/test/mnesia_evil_backup.erl
parent387eed25bdf60098dd7972c674fb2a982686c220 (diff)
parentd22396bce11debcbb6d8826468bd111ac0efbf7b (diff)
downloadotp-192c247af496b6b33775cfad21b8cebdadd96823.tar.gz
otp-192c247af496b6b33775cfad21b8cebdadd96823.tar.bz2
otp-192c247af496b6b33775cfad21b8cebdadd96823.zip
Merge branch 'dgud/mnesia/restore-leak/OTP-13025' into maint-18
* dgud/mnesia/restore-leak/OTP-13025: mnesia: Fix mnesia:restore/2 which caused a disk_log leak
Diffstat (limited to 'lib/mnesia/test/mnesia_evil_backup.erl')
-rw-r--r--lib/mnesia/test/mnesia_evil_backup.erl10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/mnesia/test/mnesia_evil_backup.erl b/lib/mnesia/test/mnesia_evil_backup.erl
index 89f2861661..e605fa7926 100644
--- a/lib/mnesia/test/mnesia_evil_backup.erl
+++ b/lib/mnesia/test/mnesia_evil_backup.erl
@@ -232,7 +232,13 @@ restore(Config, Op) ->
Res21 = [{Tab2, N, N+1} || N <- lists:seq(1, 11)],
Res31 = [[{Tab3, N, N+1}, {Tab3, N, N+44}] || N <- lists:seq(1, 10)],
-
+ Check = fun() ->
+ [disk_log:pid2name(X) ||
+ X <- processes(), Data <- [process_info(X, [current_function])],
+ Data =/= undefined,
+ element(1, element(2, lists:keyfind(current_function, 1, Data)))=:= disk_log]
+ end,
+ Before = Check(),
?match({atomic, [Tab1]}, Restore(File1, [{Op, [Tab1]},
{skip_tables, Tabs -- [Tab1]}])),
case Op of
@@ -319,6 +325,8 @@ restore(Config, Op) ->
end,
?match(ok, file:delete(File1)),
?match(ok, file:delete(File2)),
+ ?match([], Check() -- Before),
+
?verify_mnesia(Nodes, []).