erl_global
erl_global
C库
erl_global
库摘要
访问全球注册名称。
描述
此模块提供了在global
模块中注册,查找和取消注册名称的支持。有关更多信息,请参阅kernel:global
。
请注意,下面的函数使用调用者提供的打开文件描述符来执行RPC。在全局操作期间,此文件描述符不能用于其他通信,因为该函数可能会收到意外数据并失败。
输出
char **erl_global_names(fd,count)
类型
检索所有已知全局名称的列表。
fd
是Erlang连接的打开描述符。
- count是一个整数的地址,或者是NULL。 如果count不为NULL,则由函数将其设置为找到的名称数量。
成功时,函数返回一个字符串数组,每个字符串包含一个注册名称,并将计数设置为找到的名称数量。 该数组由一个空指针终止。 失败时,函数返回NULL并且不修改计数。
注
之后释放阵列是主叫方的责任。它已被功能分配给一个单一的调用malloc()
,所以只需要调用free()
。
int erl_global_register(fd,name,pid)
类型
在global
...
fd
是Erlang连接的打开描述符。
- 名称是在全球注册的名称。
- pid是与名称关联的pid。 当进程请求名称的位置时,此值由全局返回。
成功时返回0
,否则返回-1
。
int erl_global_unregister(fd,name)
类型
取消注册名称global
。
fd
是Erlang连接的打开描述符。
- 名称是从全局注销的名称。
成功时返回0
,否则返回-1
。
ETERM *erl_global_whereis(fd,name,node)
类型
在中global
查找一个名字。
fd
是Erlang连接的打开描述符。
name
是被global
查找的名字。
如果节点不是NULL,则它是指向缓冲区的指针,其中函数可以填充找到名称的节点的名称。 必要时可将节点直接传递给erl_connect()。
成功后,该函数返回一个Erlang PID,其中包含指定名称的地址,并将节点初始化为节点名,其中name
被发现了。一旦失败,NULL
会被返回并且node
不会被修改。