Clean/ignore dead process messages

Petr Sturc petr.sturc@REDACTED
Thu Aug 20 15:58:26 CEST 2009


being newbee, I am stucked with following problem:

I have a process simulating FIFO queue . You can store something by sending
"in" message {in,Data} or get data by sending "out" message. When the queue
is empty, the client gets blocked (waiting in its receive clause).

The problem happens when client dies/disconnects while waiting for the
response from the queue.

The queue still have the "out" message from the now dead process in its
inbox. When the queue gets non-empty the message matches and queue sends
data to dead process and data are lost.

Is there a way to remove all messages from killed/dead process from other's
process inbox?
Or do you see some other way to ensure that the data are not lost?

Thanks for your ideas.

More information about the erlang-questions mailing list