Guard test pid/1 allows invalid Pid into spawned program

Roger Price rprice@REDACTED
Wed Dec 15 22:49:30 CET 2004


On Wed, 15 Dec 2004, Vlad Dumitrescu wrote:

> I think there is no problem. LogStream is a process linked to the
> process that runs test:test() - when test terminates, then LogStream
> gets killed too. This is a result of having test:test() spawned: it no
> longer is there when hello runs. In the successful cases, the process
> running test:test() is the shell, and it remains alive.

Hello Vlad,

Thanks for the insight.  I was under the mistaken impression that somehow
processes, like memory, were garbage collected only when the "last
pointer" disappeared.

Does the link-based garbage collection work between nodes?  I.e, if I pass
a Pid to my hello/1 in another node must I keep test/0 alive in the
originating node to keep the "LogStream" Pid alive on some distant node?

Best Regards,
Roger




More information about the erlang-questions mailing list