diff --git a/prototype/poc-machi/src/machi_flu0.erl b/prototype/poc-machi/src/machi_flu0.erl index c17f7b8..520bdc3 100644 --- a/prototype/poc-machi/src/machi_flu0.erl +++ b/prototype/poc-machi/src/machi_flu0.erl @@ -118,6 +118,8 @@ make_proj(Epoch, FLUs) -> init([Name]) -> lclock_init(), + [(catch exit(whereis(Name), kill)) || _ <- lists:seq(1,2)], + erlang:yield(), {ok, #state{name=Name, proj_epoch=-42, proj_store_pub=orddict:new(), @@ -218,7 +220,9 @@ do_proj_write(Epoch, StoreType, Proj, #state{proj_epoch=MyEpoch, case orddict:find(Epoch, D) of error -> D2 = orddict:store(Epoch, Proj, D), - {NewEpoch, NewWedged} = if Epoch > MyEpoch -> + {NewEpoch, NewWedged} = if StoreType == public -> + {MyEpoch, MyWedged}; + Epoch > MyEpoch -> {Epoch, false}; true -> {MyEpoch, MyWedged} diff --git a/prototype/poc-machi/test/machi_flu0_test.erl b/prototype/poc-machi/test/machi_flu0_test.erl index 70eda23..d7117f1 100644 --- a/prototype/poc-machi/test/machi_flu0_test.erl +++ b/prototype/poc-machi/test/machi_flu0_test.erl @@ -207,7 +207,7 @@ m_stop(Pid) -> Res. m_proj_write(Pid, Epoch, Proj) -> - Res = machi_flu0:proj_write(Pid, Epoch, public, Proj), + Res = machi_flu0:proj_write(Pid, Epoch, private, Proj), event_add(proj_write, Pid, Res), Res. @@ -227,17 +227,17 @@ m_proj_write_with_check(Pid, Epoch, Proj) -> end. m_proj_read(Pid, Epoch) -> - Res = machi_flu0:proj_read(Pid, Epoch, public), + Res = machi_flu0:proj_read(Pid, Epoch, private), event_add(proj_read, Pid, Res), Res. m_proj_get_latest_num(Pid) -> - Res = machi_flu0:proj_get_latest_num(Pid, public), + Res = machi_flu0:proj_get_latest_num(Pid, private), event_add(proj_get_latest_num, Pid, Res), Res. m_proj_read_latest(Pid) -> - Res = machi_flu0:proj_read_latest(Pid, public), + Res = machi_flu0:proj_read_latest(Pid, private), event_add(proj_read_latest, Pid, Res), Res.