Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Erlang 0.57 KB | None | 0 0
  1. -module(echo_server).
  2. -export([start/0, print/1, stop/0]).
  3.  
  4.  
  5. echo() ->
  6.     receive
  7.         {print, Msg} ->
  8.             io:format("~w~n", [Msg]),
  9.             echo();
  10.         stop ->
  11.             ok;
  12.         _ -> echo()
  13.     end.
  14.  
  15. start() ->
  16.     case whereis(echo_server) of
  17.         undefined ->
  18.             register(echo_server, spawn(echo_server, echo, [])),
  19.             ok;
  20.         Pid when is_pid(Pid) ->
  21.             {error, already_started}
  22.     end.
  23.  
  24. print(Term) ->
  25.     echo_server ! {print, Term},
  26.     ok.
  27.  
  28. stop() ->
  29.     echo_server ! stop,
  30.     ok.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement