File 0145-mnesia-Fix-error-handling-in-abort-write.patch of Package erlang

From b0019accbd2ad3f5f433a8ca0c877f3bf8456f92 Mon Sep 17 00:00:00 2001
From: Dan Gudmundsson <dgud@erlang.org>
Date: Tue, 14 Nov 2017 12:11:48 +0100
Subject: [PATCH] mnesia: Fix error handling in abort write

The "root cause" error reason was lost when abort_write failed,
e.g. file was already closed, and Mod:abort_write(..) returned an
error.
---
 lib/mnesia/src/mnesia_log.erl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/mnesia/src/mnesia_log.erl b/lib/mnesia/src/mnesia_log.erl
index 9536effd42..685d512acf 100644
--- a/lib/mnesia/src/mnesia_log.erl
+++ b/lib/mnesia/src/mnesia_log.erl
@@ -752,8 +752,8 @@ abort_write(B, What, Args, Reason) ->
     Opaque = B#backup_args.opaque,
     dbg_out("Failed to perform backup. M=~p:F=~p:A=~p -> ~p~n",
 	    [Mod, What, Args, Reason]),
-    try apply(Mod, abort_write, [Opaque]) of
-	{ok, _Res} -> throw({error, Reason})
+    try {ok, _Res} = apply(Mod, abort_write, [Opaque]) of
+        _ -> throw({error, Reason})
     catch _:Other ->
 	    error("Failed to abort backup. ~p:~p~p -> ~p~n",
 		  [Mod, abort_write, [Opaque], Other]),
-- 
2.15.1

openSUSE Build Service is sponsored by