<br><br><div class="gmail_quote">On Fri, May 17, 2013 at 11:09 AM, Jonathan Schneider <span dir="ltr"><<a href="mailto:jon@axismilton.ltd.uk" target="_blank">jon@axismilton.ltd.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">>   "Sending a message to a pid never fails, even if the pid<br>
>    identifies a non-existing process."<br>
><br>
<br>
</div>The documentation could be clearer. It means never causes an error for the sender.<br></blockquote><div><br>Yes - *sending* messages always works if you have a valid Pid. This does not mean that<br>*receiving* the message succeeds.<br>
<br>Suppose the Pid refers to a process on a remote machine. When you send the message the<br>remote process might exist. But the remote machine might die while the message is in transit<br>between the machines.<br><br>Failure of a remote process can be detected by linking to the process. If the process you have linked to<br>
dies you'll be send an exit signal.<br><br>Receiving a message is a somewhat vague idea. When you send a message to a process<br>it gets put in the mailbox of the receiving processes (assuming the receiving process has not died).<br>
<br>The word "receiving" might mean "put in the receives mailbox" or "evaluates one of the receive<br>clauses in a receive statement." <br><br>If you want to really know that a message was received and acted upon, you need to send a confirmation<br>
message back the the sender, when you get this message you'll know that the message was<br>processed by the receiver. If you also link to the process you'll get an error signal back if the process fails.<br><br>So basically you link to the remote process, send it a message and you'll either get a reply<br>
or an exit signal back.<br><br>Cheers<br><br>/Joe<br><br><br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Jon<br>
<div class="HOEnZb"><div class="h5"><br>
_______________________________________________<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" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br>