Regarding the stale lockfile - good news. I finally managed to capture
the error message (stderr is being logged...now) which was indicative
of database corruption. Perhaops this wasn't as intermittant as I
thought. Here's the message (MHonArc v2.2):
Can't find string terminator "'" anywhere before \
EOF at ./.mhonarc.db line 59552.
Thank you the tip about -savemem not being helpful for archiving
single messages. My setup uses a daemon which sorts and processes a
inbox queue every so often. It's surprisingly easy to pull off with
the MH commands. In times of light traffic, it does one message at a
time. During heavy traffic, they pile up and it is much more of a
batch job. This seems to work well performance wise.
As for fcntl() and friends, I personally am planning to move to a
distributed filesystem in the medium/near future. I've been very
impressed with Coda, a free and much improved descendent of AFS, and
suspect it will grow quite popular with time. Thus I might prefer to
use the -nolock feature in the future, and trust my wrapper script to
keep things from happening concurrently.