On Thursday, March 6, 2003, at 07:04 am, Charlie Brady wrote:
Maildir guarantees safe parallel MTA, *not* MUA operation. In the Maildir/
MUA relationship, the IMAP server(s) is/are the MUA and therefore only one
may be guaranteed operating successfully at a time. It is my implicit
belief that an IMAP server deals with multiple simultaneous client
connections, but multiple separate instances of itself is another issue.
Dealing with multiple simultaneous clients pretty much implies dealing with multiple instances of the server.
I'm drawing a distinction here between one instance of a server having multiple client connections and multiple instances of a server running, each modifying the same mail store. In the latter case, you have multiple MUAs.
In nearly every real-life case, a uidvalidity file will be older than one second when the server is asked to delete the associated folder. In the very odd case that it is not, the server should wait until the next second (i.e. less than one second), so that the uidvalidity file is "old", and can be safely deleted.
The idea of checking whether or not the folder's creation time is >= 'now'
and sleeping otherwise is an interesting one. Frankly, I don't mind solutions that require sleeping for certain operations to allow the system time to change. Another option would be for Binc to manage intra-server locks on structural changes to the message store. However, that has its own overhead and complications.
C=)
--
--------------------------------------------------------------------------
If software were really an engineering field, we would learn as engineers
do to avoid tools and methods that persistently lead to serious problems.
--------------------------------------------------------------------------
Caskey <caskey*technocage.com> /// TechnoCage Inc.
--------------------------------------------------------------------------
Heuer's Law: Any feature is a bug unless it can be turned off.
