From 7de28cb172b47cd33acf17527689126784e1c42e Mon Sep 17 00:00:00 2001 From: Adam Kocoloski Date: Fri, 2 Jul 2010 10:23:56 -0400 Subject: restart mem3_cache if ets table errors out --- src/mem3_cache.erl | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/mem3_cache.erl b/src/mem3_cache.erl index 1d1bbe9b..38cc57ef 100644 --- a/src/mem3_cache.erl +++ b/src/mem3_cache.erl @@ -23,6 +23,10 @@ handle_call(_Call, _From, State) -> handle_cast(_Msg, State) -> {noreply, State}. +handle_info({'DOWN', _, _, Pid, {badarg, [{ets,delete,[partitions,_]}|_]}}, + #state{changes_pid=Pid} = State) -> + % fatal error, somebody deleted our ets table + {stop, ets_table_error, State}; handle_info({'DOWN', _, _, Pid, Reason}, #state{changes_pid=Pid} = State) -> ?LOG_INFO("~p changes listener died ~p", [?MODULE, Reason]), Seq = case Reason of {seq, EndSeq} -> EndSeq; _ -> 0 end, -- cgit v1.2.3