<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 2, 2014 at 4:39 PM, Youngkin, Rich <span dir="ltr"><<a href="mailto:richard.youngkin@pearson.com" target="_blank">richard.youngkin@pearson.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Is this true of Erlang libraries that use NIFs and or Port drivers? Specifically, I'm thinking of blocking the VM scheduler(s).  </blockquote>

</div><br>No, not in general. Correctly written NIFs executing on dirty schedulers and correctly written port drivers does not have these problems. Also, just because you have the Erlang tooling available doesn't automatically give you the magic:</div>

<div class="gmail_extra"><br></div><div class="gmail_extra">* You can still overflow the atom table</div><div class="gmail_extra">* You can still spawn non-linked processes that never stop leading to memory exhaustion</div>

<div class="gmail_extra">* You can still deadlock the system</div><div class="gmail_extra"><br></div><div class="gmail_extra">Mind you, it is *hard* to do these things in Erlang if you just adhere to some simple basic rules. But you end up seeing it all over time.<br>

<br clear="all"><div><br></div>-- <br>J.
</div></div>