diff options
| -rw-r--r-- | src/mirrored_supervisor.erl | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mirrored_supervisor.erl b/src/mirrored_supervisor.erl index 5d01a56ffb..66dafaecb3 100644 --- a/src/mirrored_supervisor.erl +++ b/src/mirrored_supervisor.erl @@ -392,8 +392,10 @@ demonitor_all_peers(#state{peer_monitors = Peers}) -> maybe_start(Delegate, ChildSpec) -> case mnesia:transaction(fun() -> check_start(Delegate, ChildSpec) end) of - {atomic, start} -> start(Delegate, ChildSpec); - {atomic, Pid} -> {ok, Pid} + {atomic, start} -> start(Delegate, ChildSpec); + {atomic, Pid} -> {ok, Pid}; + %% If we are torn down while in the transaction... + {aborted, {killed, _}} -> ignore end. check_start(Delegate, ChildSpec) -> |
