From a9a20c915026261c5fd05ddfbc8a3e2fda60cbc9 Mon Sep 17 00:00:00 2001 From: Martin Sumner Date: Wed, 7 Mar 2018 16:20:41 +0000 Subject: [PATCH] Smoother temrinate on destroy don't try and terminate a dead process --- src/leveled_bookie.erl | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/leveled_bookie.erl b/src/leveled_bookie.erl index 85cc57d..19866ec 100644 --- a/src/leveled_bookie.erl +++ b/src/leveled_bookie.erl @@ -747,8 +747,20 @@ handle_info(_Info, State) -> terminate(Reason, State) -> leveled_log:log("B0003", [Reason]), - ok = leveled_inker:ink_close(State#state.inker), - ok = leveled_penciller:pcl_close(State#state.penciller). + ok = + case is_process_alive(State#state.inker) of + true -> + leveled_inker:ink_close(State#state.inker); + false -> + ok + end, + ok = + case is_process_alive(State#state.penciller) of + true -> + leveled_penciller:pcl_close(State#state.penciller); + false -> + ok + end. code_change(_OldVsn, State, _Extra) -> {ok, State}.