<div dir="ltr">Yes native processes would probably make drivers obsolete. We don't exactly know what native processes will become but we could certainly envision a better solution than the current drivers. Ideally we would have a mechanism that could schedule native code flawlessly in user space but I don't see that happening.<div><br></div><div>Now, exactly what is the problem with making a thread and handling select yourself? Is it perceived as worse performance or perceived as just cumbersome coding? Do you need the fd to interact with other Erlang ports?</div><div><br></div><div>// Björn-Egil</div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-01-31 16:59 GMT+01:00 Jesper Louis Andersen <span dir="ltr"><<a href="mailto:jesper.louis.andersen@gmail.com" target="_blank">jesper.louis.andersen@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><span class=""><br><div class="gmail_quote">On Sat, Jan 31, 2015 at 4:52 PM, 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">What is the measure of control that the VM has over drivers that it would not have over native processes?  I've always interpreted native processes as being simpler and more capable than drivers but with exactly the same hazards (executing for too long, corrupting/crashing, etc).  I've worked with NIFs but not drivers; perhaps there's some obvious aspect of drivers that I've missed.</blockquote></div><br></span>Your observation is correct. Once you have a native process API, you are essentially on the path to eradicate drivers from the Erlang system by making them an extension on top of native processes. Of course, there are details to be hashed out, but this is a possible path to take.</div><div class="gmail_extra"><br></div><div class="gmail_extra">The fun thing is that this will also make the Erlang and Go runtimes a bit more like each other.<span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div>J.</div>
</font></span></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></div>