However, my concern is when using examine (read only) on a mailbox and another connection uses select. Examine appears to be completely oblivious to any actions performed on the mailbox by the other process. Specifically, an expunge really throws things out of whack where subsequent text fetches on the "examined" view returns incorrect data which seemingly correspond to the original view offsets when first opened rather than the current updated mailbox (post-expunge).
Your surmise is correct.
In traditional UNIX format, there is effectively only one lock: the readwrite lock. Readonly access must either lock the readwrite lock (which would preclude other readonly access), or not lock at all and hope for the best. c-client does the latter.
This is one of many reasons why traditional UNIX format is not suitable for IMAP (or other shared access).
-- Mark --
http://staff.washington.edu/mrc Science does not emerge from voting, party politics, or public debate. Si vis pacem, para bellum.