[erlang-questions] process will stack overflow after received many message?

Robert Raschke rtrlists@REDACTED
Fri Sep 16 10:44:39 CEST 2011


On Fri, Sep 16, 2011 at 9:38 AM, Jovi Zhang <bookjovi@REDACTED> wrote:

> Hi,
>    I am a newbie of Erlang, here I have a question for receive
> message in Erlang loop.
>    Like below Erlang code, when process receive one message, it will
> invoke loop again,
>    then it can service like a server, receive message forever.
>    BUT is possible that process will stack overflow after receive too
> many message? the process invoke loop again and again.
>
>    I saw there have many code write like this in <<Programming Erlang>>
> book.
>
> loop() ->
>    receive
>        hello ->
>            io:format("hello\n"),
>            loop();
>        Other ->
>            io:format("I don't know what is this message, ~p is ~n"
> ,[Other]),
>            loop()
>    end.
>
>
No stack overflow, due to tail call optimisation. See also
http://www.erlang.org/doc/reference_manual/functions.html#id74170

Robby
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20110916/8ee7c15d/attachment.htm>


More information about the erlang-questions mailing list