anchor.diff:      register(?MathServer, spawn(?MODULE, init, [fun geometry:areas/1])).
   
   stop() ->
  -    shutdown_math_server().
  +    stop(?MathServer).
   
   call(Shapes) ->
       ?MathServer ! {request, self(), Shapes},
  
positive.code: 	    end,
      Reply.
  
  shutdown_math_server() ->
      case whereis(?MathServer) of
      	undefined -> 
      	    true;
      	Pid ->
      	    case is_process_alive(Pid) of
      		true ->
  		    ?MathServer ! stop,
  		    unregister(?MathServer);
      		false ->
      		    unregister(?MathServer)
      	    end
      end.
  
  init(F) ->
      loop(F).
  
  loop(F) ->
      receive
  
negative.code: 		    From ! {response, error, Bad},
  		    loop(F)
  	    end
      after 3000 ->
  	    io:format("Timeout. Server shutdown.~n", []),
  	    exit(timeout)
  	end.
  