<div dir="ltr">Yes, that's correct. You can also now call enif_make_badarg() in a dirty NIF as well, so no need to hop through a regular NIF just to validate incoming argc/argv before scheduling a dirty call. For more detail see<div><br></div><div><a href="https://github.com/erlang/otp/commit/e167bca85a86cc7a149d53da5cdd08b0905e71a6">https://github.com/erlang/otp/commit/e167bca85a86cc7a149d53da5cdd08b0905e71a6</a></div><div><br></div><div>--steve<br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 17, 2014 at 9:22 AM, Daniel Goertzen <span dir="ltr"><<a href="mailto:daniel.goertzen@gmail.com" target="_blank">daniel.goertzen@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Very, very nice cleanup on the dirty nif API.  If I read it right, I can now mark a nif as dirty with a single flag:<div><br></div><div><div><font face="courier new, monospace">static ErlNifFunc nif_funcs[] = {</font></div><div><font face="courier new, monospace">    {"open_device",     3, open_device},</font></div><div><font face="courier new, monospace">    {"create_context",  0, create_context, <span style="color:rgb(0,0,0)">ERL_NIF_DIRTY_JOB_CPU_BOUND</span>},</font></div><div><font face="courier new, monospace">    {"destroy_context", 1, destroy_context, <span style="color:rgb(0,0,0)">ERL_NIF_DIRTY_JOB_IO_BOUND</span>}</font></div><div><font face="courier new, monospace">};</font><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Wed, Sep 17, 2014 at 6:21 AM, Kenneth Lundin <span dir="ltr"><<a href="mailto:kenneth.lundin@gmail.com" target="_blank">kenneth.lundin@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><div dir="ltr"><div>Erlang/<span>OTP</span> <span>17.3</span> <span></span><span>has</span> been released.<br></div>

<div dir="ltr"><div><div>
<br>Erlang/<span>OTP</span> <span>17.3</span> is a service release on 
the 17 track with mostly bug fixes, but it does contain a number of new 
features and characteristics improvements as well. <br><br></div>
<div><div>Some highlights of the release are:<br><ul><li>erts: Introduced enif_schedule_nif() which allows a long running NIF to be broken into separate NIF invocations without the help of a wrapper function written in Erlang<br></li><li>common_test: Experimental support for running Quickcheck and PropEr tests from common_test suites is added. Examples of usage in the suites for the ssh and inets applications<br></li><li>Bugfixes and minor new features in applications such as asn1, erts, kernel, stdlib, diameter, ssh, mnesia, ssl, jinterface, ... <br></li></ul>Many thanks to 20 different contributors in this release<br><br>
<div>
<p>
        You can find the README file with more detailed info at <a href="http://www.erlang.org/download/otp_src_17.3.readme" target="_blank">http://www.erlang.org/download/otp_src_17.3.readme</a></p>
<p>
        You can download the full source distribution from <a href="http://www.erlang.org/download/otp_src_17.3.tar.gz" target="_blank">http://www.erlang.org/download/otp_src_17.3.tar.gz</a></p>
</div></div></div></div><div><div><div><p>
        Note: To unpack the TAR archive you need a GNU TAR compatible program. 
For installation instructions please <span></span>read the README that is part of the
 distribution.</p></div><div>
<p>
        You can also find this release at the official Erlang/<span>OTP</span> Git-repository at Github here: <a href="https://github.com/erlang/otp" target="_blank">https://github.com/erlang/<span>otp</span></a> tagged "<span>OTP</span>-<span>17.3</span>"<span></span></p>


<div>


<p>
        The Windows binary distribution can be downloaded from</p>
<p>
        <a href="http://www.erlang.org/download/otp_win32_17.3.exe" target="_blank">http://www.erlang.org/download/otp_win32_17.3.exe</a> <br></p><p><a href="http://www.erlang.org/download/otp_win64_17.3.exe" target="_blank">   http://www.erlang.org/download/otp_win64_17.3.exe </a></p>






<p>
        You can also download the complete HTML documentation or the Unix manual files <br></p><p><a href="http://www.erlang.org/download/otp_doc_html_17.3.tar.gz" target="_blank">http://www.erlang.org/download/otp_doc_html_17.3.tar.gz</a> <br>







        <a href="http://www.erlang.org/download/otp_doc_man_17.3.tar.gz" target="_blank">http://www.erlang.org/download/otp_doc_man_17.3.tar.gz</a></p>
<p>
        We also want to thank those that sent us patches, suggestions and bug reports.</p>
<p>
        The Erlang/<span>OTP</span> Team at Ericsson</p></div></div></div></div></div></div></div>
<br></div></div><span class="">_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">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></span></blockquote></div><br></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></div></div></div>