loop exit question

Klacke <>
Thu Apr 19 14:11:09 CEST 2001


On Thu, Apr 19, 2001 at 02:02:43PM +0200, Willem Broekema wrote:
> If a function should loop forever while remembering some
> state, most examples I have seen use:
> 
> loop(State) ->
>    receive
>        stop ->
>            stopped_upon_request;
>        Other ->
>            ...,
>            loop(State)
>    end.
> 
> Now, if the State is not changed in any of the 'reveiced'
> branches, is there a reason not to move the final 'loop()'
> command to the end, and use 'exit()' for breaking out of
> the loop, like in the following?
> 
> loop2(State) ->
>    receive
>        stop ->
>            exit(self(), stopped_upon_request);
>        Other ->
>            ...
>    end,
>    loop(State).
> 
> 


No, that's the way to do it.


/klacke


-- 
Claes Wikstrom                        -- Caps lock is nowhere and
Alteon WebSystems                     -- everything is under control          
http://www.bluetail.com/~klacke       --




More information about the erlang-questions mailing list