loop exit question
Steve Langstaff
srl@REDACTED
Thu Apr 19 14:21:57 CEST 2001
On 19 April 2001 13:11, Klacke [SMTP:klacke@REDACTED] wrote:
> 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.
Doesn't the action of exit change, depending on whether the process
is trapping exits?
A light perusal of "Concurrent Programming in ERLANG"
seems to suggest that exit will/may cause a process to terminate, whereas
one might just want to drop out of a loop. Or have I misunderstood the
original question?
--
Steve L.
More information about the erlang-questions
mailing list