Tim Southerwood ts@doc.ic.ac.uk writes:
Number 2 is a bit disputable, because the OS is supposed to behave, and it is more sensible to fix the cause rather than implement workarounds in 1000+1 applications.
Well, I would agree with you in an ideal world. However, there may be sites where the linux admin has no control over the Solaris (or other broken) servers holding users' mail - so it would be more beneficial that the application have a failover mode (or at least some compile time configuration).
This would constitute a violation of responsibilities or layers. What you are suggesting appears as though you would want the software to work around a problem when the administrator teams for Solaris and Linux aren't talking to each other.
Dovecot uses this locking in two places that matter so it's not IMHO a terrible disaster to add a small workaround.
I've often been tempted to add some special case to software and ultimately given in, only to find out weeks, months or even years later that the special case handler wasn't working properly -- such seldomly used code is a maintenance nightmare. And these special cases need rather lengthy comments because a few months later the maintainer will see the code and throw it out because it looks extraneous.
Maybe such a workaround should be kept as a separate patch and not become part of the baseline code.
-- Matthias Andree
Encrypted mail welcome: my GnuPG key ID is 0x052E7D95 (PGP/MIME preferred)