Recently, under some dramatic circumstances, I have discovered that NIF's
are doomed to brutal termination, when enif_send is called from spawned
It forces me to just throw an exception during NIF initialization process,
whenever erlang:system_info(smp_support) returns false.
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.
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
erlang-questions mailing list