<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 1 aug 2013, at 22:29, Anthony Ramine <<a href="mailto:n.oxyde@gmail.com">n.oxyde@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hello,<br><br>It's not that you should not use prim_eval in this particular manner, you should not use prim_eval at all. This is probably not the only primitive that can make the VM segfault.<br></blockquote><div><br></div>Well I am, indirectly, using prim_eval:'receive'/2 when I am executing "receive Y -> Y end" from the shell.</div><div>I think that this should still be allowed. (need a smily here? I guess, ok here it is ;-)</div><div><br></div><div><blockquote type="cite"><br>That being said, when I implemented that patch the function didn't call a given closure but an hard-coded remote function in prim_eval; maybe we should put that back?<br></blockquote><div><br></div>I like prim_eval:'receive'/2 the way it is right now. But, for example, a badarg when trying to do receive within the function closure would be nice.</div><div>I guess OTP team can figure out a lightweight way of doing this?</div><div><br></div><div>Regards</div><div><br></div><div>/Tony</div><div><br><blockquote type="cite"><br>Regards,<br><br>-- <br>Anthony Ramine<br><br>Le 1 août 2013 à 20:06, Tony Rogvall a écrit :<br><br><blockquote type="cite">I was inspecting the new, and long awaited for, fix of 'receive' in erl_eval.<br><br>I could not help myself to wonder what would happened if:<br><br>5> self() ! x, prim_eval:'receive'(fun(X) -> receive Y -> Y end end, 1000). <br><br>Bus error: 10<br><br>I know you should not use prim_eval in this manner, but I tend to ignore recommendations.<br>But this construct should probably not crash the VM.<br><br>/Tony<br><br>_______________________________________________<br>erlang-bugs mailing list<br><a href="mailto:erlang-bugs@erlang.org">erlang-bugs@erlang.org</a><br>http://erlang.org/mailman/listinfo/erlang-bugs<br></blockquote><br></blockquote></div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; "><div><span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 12px; ">"Installing applications can lead to corruption over time. </span><span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 12px; ">Applications gradually write over each other's libraries, partial upgrades occur, user and system errors happen, and minute changes may be unnoticeable and difficult to fix"</span></div><div><span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 12px; "><br></span></div></span><br class="Apple-interchange-newline">
</div>
<br></body></html>