<div dir="ltr">The bif_return_trap/1 is a trampoline function used by bifs that suspend in order to graft them onto the normal interpreter later on. It's purpose is to make the BIF look like a normal function.<div><br></div><div>Processes might get suspended on a send for two reasons:</div><div><br></div><div>* The process you are looking for is in another castle (read: on a foreign node). If the TCP buffer for the distribution protocol is full the process gets suspend until there is room.</div><div>* The port you are sending to is currently busy. What this means depends on the type of port, but usually this is a full buffer of some kind as well.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 12, 2015 at 10:52 AM, Dror Mein <span dir="ltr"><<a href="mailto:drormein@yahoo.com" target="_blank">drormein@yahoo.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"><div dir="ltr">hi all,</div><div dir="ltr">I have a gen_server process who is suspended. it's stack trace has him currently trying to send a message with a bang. </div><div dir="ltr">my first question is why? why a process gets suspended? current function: erlang:bif_return_trap/1</div><div dir="ltr">the destination process is ok.</div><div dir="ltr">second question: how do you guard from a situation like this?</div><div dir="ltr"><br></div><div dir="ltr">Thanks,</div><div dir="ltr">Dror</div></div></div><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>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">J.</div>
</div>