Buon giorno, ho seguente configurazione per il mio piccolo servizio:Erlang. modo corretto di fermare il processo
-module(mrtask_net).
-export([start/0, stop/0, listen/1]).
-define(SERVER, mrtask_net).
start() ->
Pid = spawn_link(fun() -> ?MODULE:listen(4488) end),
register(?SERVER, Pid),
Pid.
stop() ->
exit(?SERVER, ok).
....
Ed ecco l'estratto repl:
([email protected])83> mrtask_net:start().
<0.445.0>
([email protected])84> mrtask_net:stop().
** exception error: bad argument
in function exit/2
called as exit(mrtask_net,ok)
in call from mrtask_net:stop/0
([email protected])85>
Come si vede, il processo di arresto genera errore, processo si sta fermando però. Cosa significa questo errore e come rendere la cosa pulita?
+1 Essere in grado di leggere la documentazione può essere altrettanto prezioso di conoscere una lingua dentro e fuori. – BRampersad