Getting locks and sharing: was RE: Getting concurrency

David Hopwood <>
Tue Jun 21 18:00:19 CEST 2005


Ulf Wiger (AL/EAB) wrote:
> I think the idea of discarding messages might be a way forward,
> but think that one must go further than to just randomly 
> discard them. It is very useful to know for sure that if 
> s1 and s2 have been sent from P1 to P2, then if s2 arrives,
> s1 is guaranteed to have arrived before it. The spec doesn't
> state this, but it's what I think it should state.

I agree. Note that E, which is also a distributed asynchronous
message passing system, does make this guarantee. If a message
cannot be delivered to a given reference (~= Erlang port), the
reference becomes "broken", and will receive no more messages.
References that are not broken eventually receive all the
messages sent to them, in causal order (see
<http://www.erights.org/elib/concurrency/partial-order.html>).
However, it is also possible to create "sturdy refs" which survive
failure of vats (~= Erlang nodes).

-- 
David Hopwood <>




More information about the erlang-questions mailing list