On Wed, 2003-12-31 at 12:15, Richard Bang wrote:
> Client A connects and does a long fetch of all the flags (takes say 20s)
> Client B connects and does a store 1:* /deleted followed by expunge
> meanwhile Client C connect and does a store 1:* /seen

IMHO, the ideal (not required) behaviour for IMAP commands is to work
like they would in a transactional database. Each command in itself is a
transaction followed by a commit.

So Client A would see the mailbox state exactly as it was when the fetch
began.

With B+C you don't say if you mean STORE FLAGS or STORE +FLAGS.

With STORE FLAGS case it depends on if EXPUNGE or STORE FLAGS \Seen is
executed first.

With STORE +FLAGS case it's not really clear either, the server might be
updating \Deleted and \Seen flags concurrently and there could be some
race conditions with that (eg. UW-IMAP with mbx format I think).

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to