diff --git a/TODO-shortterm.org b/TODO-shortterm.org index b1ac6ad..d695d93 100644 --- a/TODO-shortterm.org +++ b/TODO-shortterm.org @@ -7,7 +7,9 @@ Done via compare() func. ** TODO Change all protocol ops to add epoch ID +** TODO Move the FLU server to gen_server behavior? ** TODO Add projection store to each FLU. +** TODO Change all protocol ops to enforce the epoch ID ** TODO Add projection wedging logic to each FLU. - Add no-wedging state to make testing easier? diff --git a/src/machi_flu1.erl b/src/machi_flu1.erl index 66ac73b..7ad649f 100644 --- a/src/machi_flu1.erl +++ b/src/machi_flu1.erl @@ -64,8 +64,11 @@ main2(RegName, TcpPort, DataDir, Rest) -> dbg_props=DbgProps, props=lists:keydelete(dbg, 1, Rest)} end, - _Pid1 = start_listen_server(S2), - _Pid2 = start_append_server(S2), + AppendPid = start_append_server(S2), + ListenPid = start_listen_server(S2), + put(flu_reg_name, RegName), + put(flu_append_pid, AppendPid), + put(flu_listen_pid, ListenPid), receive forever -> ok end. start_listen_server(S) -> @@ -86,7 +89,7 @@ run_append_server(#state{reg_name=Name}=S) -> listen_server_loop(LSock, S) -> {ok, Sock} = gen_tcp:accept(LSock), - spawn(fun() -> net_server_loop(Sock, S) end), + spawn_link(fun() -> net_server_loop(Sock, S) end), listen_server_loop(LSock, S). append_server_loop(#state{data_dir=DataDir}=S) ->