Author: Ian Pallfreeman Date: To: exim-users Subject: dbm locking woes
I'm running exim 1.61 with gdbm as the database manager. I've patched db.c to
allow gdbm to do its own locking (by removing the exim locks), tweaked it to
use O_RDWR|O_CREAT rather than O_RDONLY when a dbm file isn't found, and made
the retry algorithm smarter by using a random delay rather than each potential
writer using the same sleep times. This has cured most of my "can't open DB
file wait-smtp" problems, but I'm still seeing them when attempting to relay
messages to a large number of addresses.
The dbm code in transport.c seems OK (except for a minor error-handling fix):
there don't seem to be any paths through the code which might leave the dbm
file open at exit.