basho/riak_core — pull request #399 by slfritchie (2013-09-27 07:37:42+00:00)
Title: Fix ring events monitoring by riak_core_node_watcher

Fixes #343: riak_core_node_watcher should tolerate death of riak_core_ring_events

Before this patch, the riak_core_node_watcher.erl code assumed
that if the riak_core_ring_events proc (a gen_event server) died,
then a {gen_event_EXIT,_,_} message would be sent. However, that
assumption is not correct. If it dies, we get a regular {EXIT,_,_}
message.

Tested by repeated use of alternating:
* exit(whereis(riak_core_ring_events), kill).

... and looking at the length of the links list
of process_info(whereis(riak_core_ring_events), links) -- it should
be three, not two.