-module(special_process).
|
|
-export([start/0, init/1]).
|
|
|
|
start() ->
|
|
proc_lib:start_link(?MODULE, init, [self()]).
|
|
|
|
init(Parent) ->
|
|
proc_lib:init_ack(Parent, {ok, self()}),
|
|
loop().
|
|
|
|
loop() ->
|
|
receive
|
|
function_clause ->
|
|
foo(bar),
|
|
loop();
|
|
exit ->
|
|
exit(byebye),
|
|
loop();
|
|
error ->
|
|
erlang:error(mybad),
|
|
loop();
|
|
{case_clause, X} ->
|
|
case X of
|
|
notgonnamatch ->
|
|
ok;
|
|
notthiseither ->
|
|
error
|
|
end,
|
|
loop();
|
|
_ ->
|
|
loop()
|
|
end.
|
|
|
|
foo(baz) ->
|
|
ok.
|
|
|