diff options
author | Dan Gudmundsson <dgud@erlang.org> | 2015-02-23 13:24:05 +0100 |
---|---|---|
committer | Dan Gudmundsson <dgud@erlang.org> | 2015-02-23 13:24:05 +0100 |
commit | 1f4075e70f7511b8dedbb75344478fa27cbe6495 (patch) | |
tree | 63dd30d14da1e3a9c06643553f06490ee6a8568b /lib/mnesia | |
parent | 77eeb9aa6295c275ebed135a3ac9339dcb61cef2 (diff) | |
download | erlang-1f4075e70f7511b8dedbb75344478fa27cbe6495.tar.gz |
mnesia: Flush late messages
Diffstat (limited to 'lib/mnesia')
-rw-r--r-- | lib/mnesia/src/mnesia_locker.erl | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/mnesia/src/mnesia_locker.erl b/lib/mnesia/src/mnesia_locker.erl index e27396731f..1efb939e00 100644 --- a/lib/mnesia/src/mnesia_locker.erl +++ b/lib/mnesia/src/mnesia_locker.erl @@ -982,8 +982,14 @@ sticky_flush(Ns=[Node | Tail], Store) -> flush_remaining([], _SkipNode, Res) -> del_debug(), exit(Res); -flush_remaining([SkipNode | Tail ], SkipNode, Res) -> - flush_remaining(Tail, SkipNode, Res); +flush_remaining(Ns=[SkipNode | Tail ], SkipNode, Res) -> + add_debug(Ns), + receive + {?MODULE, SkipNode, _} -> + flush_remaining(Tail, SkipNode, Res) + after 0 -> + flush_remaining(Tail, SkipNode, Res) + end; flush_remaining(Ns=[Node | Tail], SkipNode, Res) -> add_debug(Ns), receive |