[erlang-questions] Message send guarantees

Dmitry Kakurin <>
Wed Jan 25 00:38:02 CET 2017


When I execute "pid ! msg" and it returns, what are the guarantees if pid and self are on the same node?
Can I assume that by the time it returns, msg is in the pid's queue? And as a result all messages sent to pid afterwards will be queued after msg?

The reason I'm asking is because I need a guarantee of proper message ordering in the following scenario when all processes involved are local to a node:
1. A --msg1--> C (process A sends msg1 to process C)
2. A --msg2--> B
3. B --msg2--> C (process B simply proxies msg2 from A to C)

I need a guarantee that msg2 will always appear in C's queue after msg1.

P.S. I've read the FAQ 10.8 and 10.9 :-)

Thank you, Dmitry.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20170124/d8eb7a12/attachment.html>


More information about the erlang-questions mailing list