Should it also be possible to link processes which do not have a parent-child relationship?
I'm pretty sure this is possible. There is a function for linking processes.
Are links two-way (if either dies the other will be affected)?
Links are bi-directional in Erlang. From this Lambda the Ultimate post on Termiate, a Scheme distributed framework:
http://lambda-the-ultimate.org/node/view/841
"Termite links are unidirectional but Erlang links are bidirectional. There seems to be consensus in Erlang-land that it would be better to have unidirectional links, though you still need to make sure that bidirectional link-pairs can be created "atomically" enough (maybe easy)."
If a process dies, is it possible that kill signals will be sent to more than one linked process at a time, or is there ordinarily just one linked process that would be affected?
Multiple linked processes are allowed. For example a parent that spawns 5 worker processes. All worker processes need to know if the parent dies so they can die gracefully.
Chris.