level 7
最近在练习编写 port driver,需要从 driver 发送数据到一个指定的 erlang 进程,对应的pid我已经通过 erlang_pid 类型的数据存下来了,但是到了这个函数调用的时候我犯难了,文档上也没有说到底应该如何转化得到相应的参数(没有相应的 driver_mk_xx函数),看了下 otp 的代码,也没有找到什么线索。望热心人士出手相助,谢谢。
2014年06月23日 05点06分
1
level 9
port和port driver相当底层了,这些我还没有看过,不过otp那一坨里倒是看了2个行为模式以及proc_lib和gen的源码。那里面也没什么底层的东西,最后都是掉了bif。一直要看gen_tcp,所以port和port_driver这些是跑不了了,慢慢研究~
------------欢迎私信我讨论分布式存储,调度,以及强一致性算法相关的内容^_^
2014年06月24日 04点06分
2
level 7
谢谢回复。
我是为了整合erlang和现有C/C++编写的系统才去研究这个东东的。erlang我其实也是刚开始用。
前两天到erlang官方的邮件列表里问了下,大概了解了一些。 通过driver_cconnected和driveer_caller这两个函数,分别可以在erl进程调用open_port和发送消息时获取其pid.不过他们都不是线程安全的,估计调用时需要在driver这端加锁。
2014年06月25日 01点06分
3
这样,已笔记。
2014年07月04日 18点07分