-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Quoting Greg Sullivan greg.sullivan@sullivang.net:
I was gobsmacked when I discovered that duplicates could easily occur!
"move" is not atomic in a filesystem either. Under circumstances it has to be implemented by "cp && rm". Unless you protect the move's source by locking - as Timo suggested with the message at Tue, 5 Aug 2014 21:19:46 - the same duplication can occur.
In your reply you've wrote: "Heaven FORBID that I should ask for entire conversation moves to be atomic as well. (which is really what I want)" Actually you want to use database-like transactions for IMAP commands or sessions.
Actually, what should happen _during_ the MOVE, if another client queries for the source message or launches commands on it? Now, for a short period of time the copy takes the message is available at the source location only, then it disappears if the move was successful. IMHO, you could write a plugin that monitors or wraps "MOVE" commands and denies second simultaneous move attempts. In a way, that plugin would do the locking Timo suggested as a server-side implementation. How many simultaneous MOVE do you expect? Maybe you could lock the source mailbox wholly during a move.
Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux)
iQEVAwUBU+Mp13z1H7kL/d9rAQLiAAgAqryldRY7xyLxhULj+nmABbspsXsauip5 KNGYx1lPmTh1JqhvGZ/1mxn80ImidXa2U3poa8ltHPthjHW1NvqsDCMFXTzpUC36 l6zIP7VOEwMSLAq0/KmsbvJIh13h9IiZRzG3zZDO7AaDyxru171qctuEwOKO3EWp W4kicYne3fAj/FXEI4+Dnm7a6cJabIRL2DTzkU33JC0S+/seq/8ZXj9XO99ocwJV 86xjdtaD90H3akIA1G7/Q1Ielw5tEPGMD7Ye4RF+ra1DYOsj9RYXisVqNhYLDh84 qUsBPXm7Ap4rgp07iar10ex3UYQbGEq0VR9bxUxna4IMS67EtBwLpQ== =7Rkz -----END PGP SIGNATURE-----