<div><div>Hello, sirs!</div><div><br></div><div>Recently, under some dramatic circumstances, I have discovered that NIF's are doomed to brutal termination, when enif_send is called from spawned threads.</div><div>It forces me to just throw an exception during NIF initialization process, whenever erlang:system_info(smp_support) returns false.</div><div>As I understood, there is no general solution for this problem, and it can be tricky to gracefully handle this, since usually it forces you to think about two threading modes of your NIF at the same time.</div><div><br></div><div>So, the question to erlang masters: what will be your advice to all developers, which once will find that their nif's are not more cpu-topology-agnostic, and their applications fails to run on single-core environments?</div></div><div><br></div>