[erlang-questions] Beginner question
Pietro
pulsarpietro@REDACTED
Mon Mar 14 23:53:32 CET 2016
Hi all,
I have recently started to implement a small academic project in Erlang
and I have bumped into a problem which seems to show to myself I haven't
grasped something important about the technology itself.
That's my code :
-module(test).
-export([start/0, interact/2]).
start() ->
spawn (fun() -> startloop() end).
interact(Pid, Request) ->
Pid ! {self(), Request},
receive
{Pid, Response} -> Response
end.
startloop() ->
TableId = ets:new(dictionary, [set]),
loop(TableId).
loop(Table) ->
receive
{From, {insert, key, value}} ->
From ! ets:insert(Table, {key, value}),
loop(Table);
{From, {lookup, key}} ->
From ! ets:lookup(Table, key),
loop(Table);
Any ->
Any
end.
The problem happens when I try to interact with the server I start using
the command:
Pid = test:start().
Then I run :
test:interact(Pid, {insert, testkey, testvalue}).
My ershell at this point hangs and nothing happens ... what is happening
? Please feel free to redirect me to a more appropriate newsgroup if my
question is not appropriate or if there is a better one.
Thanks in advance.
Pietro.
More information about the erlang-questions
mailing list