WIP: add Name arg to start_link()

This commit is contained in:
Scott Lystig Fritchie 2014-09-28 14:35:16 +09:00
parent 2d3a29471d
commit 34c8c6490a
2 changed files with 9 additions and 8 deletions

View file

@ -2,7 +2,7 @@
-behaviour(gen_server). -behaviour(gen_server).
-export([start_link/0, stop/1, -export([start_link/1, stop/1,
write/2, get/1, trim/1]). write/2, get/1, trim/1]).
-ifdef(TEST). -ifdef(TEST).
-compile(export_all). -compile(export_all).
@ -27,11 +27,12 @@
-type register() :: 'unwritten' | binary() | 'trimmed'. -type register() :: 'unwritten' | binary() | 'trimmed'.
-record(state, { -record(state, {
name :: list(),
register = 'unwritten' :: register() register = 'unwritten' :: register()
}). }).
start_link() -> start_link(Name) when is_list(Name) ->
gen_server:start_link(?MODULE, [], []). gen_server:start_link(?MODULE, [Name], []).
stop(Pid) -> stop(Pid) ->
gen_server:call(Pid, stop, infinity). gen_server:call(Pid, stop, infinity).
@ -47,8 +48,8 @@ trim(Pid) ->
%%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%% %%%%
init([]) -> init([Name]) ->
{ok, #state{}}. {ok, #state{name=Name}}.
handle_call({write, Bin}, _From, #state{register=unwritten} = S) -> handle_call({write, Bin}, _From, #state{register=unwritten} = S) ->
{reply, ok, S#state{register=Bin}}; {reply, ok, S#state{register=Bin}};

View file

@ -13,13 +13,13 @@ concuerror1_test() ->
ok. ok.
concuerror2_test() -> concuerror2_test() ->
{ok, F} = machi_flu0:start_link(), {ok, F} = machi_flu0:start_link("one"),
ok = machi_flu0:stop(F), ok = machi_flu0:stop(F),
ok. ok.
concuerror3_test() -> concuerror3_test() ->
Me = self(), Me = self(),
Fun = fun() -> {ok, F1} = machi_flu0:start_link(), Fun = fun() -> {ok, F1} = machi_flu0:start_link("one"),
ok = machi_flu0:stop(F1), ok = machi_flu0:stop(F1),
Me ! done Me ! done
end, end,
@ -30,7 +30,7 @@ concuerror3_test() ->
ok. ok.
concuerror4_test() -> concuerror4_test() ->
{ok, F1} = machi_flu0:start_link(), {ok, F1} = machi_flu0:start_link("one"),
Val = <<"val!">>, Val = <<"val!">>,
ok = machi_flu0:write(F1, Val), ok = machi_flu0:write(F1, Val),
Me = self(), Me = self(),