Hi,

On 12/31/03 09:46:54 +0100 Christof Drescher <[EMAIL PROTECTED]> wrote:
[snipp]
But I wonder how this (not uncommon) situation could be resolved:

Client A (not supporting/using IDLE command) selects mailbox FOO with 10
msgs and is waiting, maybe issuiung a NOOP every 29 minutes.

Client B selects mailbox FOO, and expunges messages 1-5.

Now the server has NO WAY to inform Client A about this situation, until
it sends any command other than FETCH/SEARCH/STORE. Depending on the
client, the EXPUNGE information may never get through.
[snipp]

Until such point in time that Client A syncs it's internal state with the
mailstore it will keep working with sequence numbers 1 to 10.

You have to somehow support this in mailstores that allow concurrent access.
A frequently used solution will be to use an index file or a header in
the message store to mark messages as expunged and only rewrite the
mailbox when an exclusive lock on it has been obtained.

With a maildirs like message store you could actually delete the
messages on expunge but you would only rewrite your index file
to reflect new sequence numbers when you get an exclusive lock
on it.

Greetings
Christian

--
Christian Kratzer                       [EMAIL PROTECTED]
CK Software GmbH                        http://www.cksoft.de/
Phone: +49 7452 889 135                 Fax: +49 7452 889 136



Reply via email to