问题标签 [erlang-driver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
259 浏览

c - 来自创建线程问题的 Enif_send 函数

我试图从创建的线程调用 enif_send 。主要是,我有一个 erlang 进程,它监听从我的 nif 发出的接收到的消息。

首先,在我的 enif 函数中,我得到了我的 erlang 进程的 pid 并转换它,然后我调用 enif_send 发送消息,如下所示:

在这个阶段之前,我可以向我的 erlang 进程发送消息。

之后,我生成了一个 enif_thread 并将 env 和 pid 作为参数传递给它,我尝试从我的线程中调用 enif_send,例如:

但是当我用 enif_is_pid 检查 pid 时,我得到了一个无效的 pid,即使它是在产生线程的函数中检查的同一个 pid,因此发送失败。请问有什么想法吗?