From 1d63b93fc00e0d62e9cf51528ce858f6ff059e27 Mon Sep 17 00:00:00 2001 From: Scott Lystig Fritchie Date: Mon, 6 Apr 2015 16:49:17 +0900 Subject: [PATCH] Kill append, projection, and listen pids on machi_flu1:stop() --- src/machi_flu1.erl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/machi_flu1.erl b/src/machi_flu1.erl index 02f7925..3d71ce4 100644 --- a/src/machi_flu1.erl +++ b/src/machi_flu1.erl @@ -46,7 +46,7 @@ start_link([{FluName, TcpPort, DataDir}|Rest]) stop(Pid) -> case erlang:is_process_alive(Pid) of true -> - Pid ! forever, + Pid ! killme, ok; false -> error @@ -86,7 +86,11 @@ main2(RegName, TcpPort, DataDir, Rest) -> put(flu_append_pid, AppendPid), put(flu_projection_pid, ProjectionPid), put(flu_listen_pid, ListenPid), - receive forever -> ok end. + receive killme -> ok end, + (catch exit(AppendPid, kill)), + (catch exit(ProjectionPid, kill)), + (catch exit(ListenPid, kill)), + ok. start_listen_server(S) -> spawn_link(fun() -> run_listen_server(S) end).