[erlang-questions] Can Erlang messages be delivered out of order?

Hynek Vychodil vychodil.hynek@REDACTED
Sun Jan 25 14:45:51 CET 2009

On Sun, Jan 25, 2009 at 12:56 PM, Sergey S <ad.sergey@REDACTED> wrote:

> Hello.
> > If you read the manual, you'll find that each process have it's own
> receive
> > queue, and that new messages are always placed at the end of that queue.
> > So, for you example, yes.
> Thanks. I didn't know how message passing is implemented. It got away
> from me, while I was reading docs on that.
> > However, your example program don't work the way you seem to expect
> anyway.
> <skipped>
> > So, even if the messages would have been pleced in the wrong order, your
> program would have worked just as fine.
> Those receive-statements were supposed to illustrate the order in
> which I expect messages will be delivered. But you are right in that
> program will receive all the message independent from the order. So it
> was not very good example to illustrate what I expect =)
> --
> Sergey
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-questions

If you want test it, here is example of testing module code:



test() ->
    process_flag(trap_exit, true),
    Parent = self(),
    Pid = spawn_link(fun() ->
                        Parent ! hello,
                        Parent ! world
    receive X -> hello = X end,
    receive Y -> world = Y end,
    receive Z -> {'EXIT', Pid, normal} = Z end,

flush() ->
    receive _ -> flush()
    after 0 -> ok

--Hynek (Pichi) Vychodil

Analyze your data in minutes. Share your insights instantly. Thrill your
boss.  Be a data hero!
Try Good Data now for free: www.gooddata.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20090125/0522602a/attachment.htm>

More information about the erlang-questions mailing list