diff options
| author | Michael Klishin <michael@clojurewerkz.org> | 2015-12-24 00:18:14 +0300 |
|---|---|---|
| committer | Michael Klishin <michael@clojurewerkz.org> | 2015-12-24 00:18:14 +0300 |
| commit | 0e2dccc019071b9e52b86fce32f752c0fa78d1d5 (patch) | |
| tree | 046555115616197a76b54869ac6714575a6bd5b5 /src/gm.erl | |
| parent | b2cf1238eea40f6a505a42d1bf10b75efcdff3bc (diff) | |
| parent | 447e549860d6281b12bd9cbb2d11f04e741561aa (diff) | |
| download | rabbitmq-server-git-0e2dccc019071b9e52b86fce32f752c0fa78d1d5.tar.gz | |
Merge branch 'stable' into rabbitmq-server-485
Diffstat (limited to 'src/gm.erl')
| -rw-r--r-- | src/gm.erl | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gm.erl b/src/gm.erl index 0ca0d8d9da..61a8f3eef7 100644 --- a/src/gm.erl +++ b/src/gm.erl @@ -551,8 +551,9 @@ forget_group(GroupName) -> init([GroupName, Module, Args, TxnFun]) -> put(process_name, {?MODULE, GroupName}), - {MegaSecs, Secs, MicroSecs} = now(), - _ = random:seed(MegaSecs, Secs, MicroSecs), + _ = random:seed(erlang:phash2([node()]), + time_compat:monotonic_time(), + time_compat:unique_integer()), Self = make_member(GroupName), gen_server2:cast(self(), join), {ok, #state { self = Self, @@ -712,6 +713,10 @@ handle_info(flush, State) -> handle_info(timeout, State) -> noreply(flush_broadcast_buffer(State)); +handle_info({'DOWN', _MRef, process, _Pid, _Reason}, + State = #state { shutting_down = + {true, {shutdown, ring_shutdown}} }) -> + noreply(State); handle_info({'DOWN', MRef, process, _Pid, Reason}, State = #state { self = Self, left = Left, |
