reanimador.erl
reanimador.erl — 1 KB
Continguts del fitxer
-module(reanimador). -compile(export_all). start() -> pacient:start(), spawn(?MODULE, monitor, [whereis(pacient)]). monitor(Pid) -> io:format("Monitoritzant al pacient ~p. Constants estables.~n", [Pid]), erlang:monitor(process,Pid), receive {'DOWN', Ref, process, Pid, normal} -> io:format("~p diu que ~p ha mort~n",[Ref,Pid]); {'DOWN', Ref, process, Pid, Motiu} -> io:format("~p: Alarma. El pacient ~p est patint un/a ~p~n",[Ref,Pid,Motiu]), io:format("Reanimant al pacient. Torna ... torna ... viu~n"), pacient:reanimar(), monitor(whereis(pacient)) end.