<div dir="auto"><div><br><div class="gmail_extra"><br><div class="gmail_quote">On 30 Nov 2017 4:29 pm, "Sverker Eriksson" <<a href="mailto:sverker.eriksson@ericsson.com">sverker.eriksson@ericsson.com</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="quoted-text">On tor, 2017-11-30 at 16:05 +0100, Dmytro Lytovchenko wrote:<br>
> message delivery is instant the moment you execute send command (send<br>
> opcode).<br>
<br>
</div>NO NO NO.<br>
Messages are asynchronous signals. The return of the "send command"<br>
does not guarantee ANYTHING.<br>
<div class="quoted-text"></div></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">unless send is a trappable bif, it delivers to mail box immediately, this is what i meant to say. of course it will be delivered to the Erlang code when the process wakes up and gets his cpu time. terminology is not easy.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="quoted-text"><br>
<br>
> So exit message well always arrive second, because ordering guarantee<br>
> - exit message was sent SECOND.<br>
><br>
</div>YES<br>
Erlang signals (messages, links, monitors, etc) guarantee ordered<br>
delivery between process pairs. THAT is what gives you the guarantee<br>
that all messages sent from process A are put in the message queue of<br>
process B before the monitor 'DOWN' message.<br>
<font color="#888888"><br>
/Sverker<br>
</font><div class="elided-text"><br>
<br>
> On 30 Nov 2017 4:02 pm, "Dmitry Kolesnikov" <<a href="mailto:dmkolesnikov@gmail.com">dmkolesnikov@gmail.com</a>><br>
> wrote:<br>
> Hello,<br>
><br>
> There is a statement that Erlang messages may be not delivered, but<br>
> message order is always preserved relative to two processes. This is<br>
> a statement regarding the ordinal message… Is this statement valid<br>
> when we are talking about monitor messages in relation to ordinal<br>
> message? I have strong feeling that it is not guaranteed.<br>
><br>
> So, let’s assume we have a process A that sends async message to<br>
> process B and quits. The process B listens messages for process A and<br>
> monitors it with erlang:monitor(process, A). I am suspecting that<br>
> there are no guarantee that message will be delivered before exit<br>
> signal. Am I right?<br>
><br>
> Thank you in advanced!<br>
><br>
> Best Regards,<br>
> Dmitry<br>
><br>
> ______________________________<wbr>_________________<br>
> erlang-questions mailing list<br>
> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
> <a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/<wbr>listinfo/erlang-questions</a><br>
><br>
> ______________________________<wbr>_________________<br>
> erlang-questions mailing list<br>
> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
> <a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/<wbr>listinfo/erlang-questions</a></div></blockquote></div><br></div></div></div>