Skip to content

Instantly share code, notes, and snippets.

@jkvor
Created February 16, 2010 21:10
Show Gist options
  • Save jkvor/305924 to your computer and use it in GitHub Desktop.
Save jkvor/305924 to your computer and use it in GitHub Desktop.
-module(p).
-export([start_link/0, print_state/0, init/1, loop/1]).
start_link() ->
proc_lib:start_link(?MODULE, init, [self()]).
print_state() ->
{ok, Result} = gen:call(?MODULE, '$p', print_state),
Result.
init(Parent) ->
register(?MODULE, self()),
proc_lib:init_ack(Parent, {ok, self()}),
?MODULE:loop(0).
loop(State) ->
receive
{'$p', {From, Mref}, print_state} ->
io:format("state: ~p~n", [State]),
gen:reply({From, Mref}, ok),
?MODULE:loop(State+1)
end.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment