当Erlang VM梁运行一些用C编写的代码时,没有安排用Erlang编写的其他进程.例如:
static ERL_NIF_TERM
nifsleep(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
{
sleep(10);
return enif_make_atom(env, "ok");
}
Run Code Online (Sandbox Code Playgroud)
当你在Erlang中调用这个C函数时,其他进程没有正常进行schedulling.我想知道为什么?这是一个功能还是受实现限制(也就是说,这是一个错误)?
上面代码的地址是:https://github.com/davisp/sleepy