my understanding of sqlite is that there are multiple shared locks
for reading -- the only time you shouldn't be able to select would
be if there was a write in progress
that itself is an issue - but for most mailserver operations, I can't
imagine much writing done aside from account creation or management
maybe there needs to be a way to try X times with Y amount of time
between each attempt before a true failure is returned
On Aug 4, 2005, at 1:05 PM, Kelley Reynolds wrote:
I think what Wild means is that the database gets locked during a
transaction so that if you were to execute a query during this
locked period, it wouldn't get executed, but instead say 'Hey, the
database is locked'. I've used sqlite with ${run} before and the
command-line version will say 'database is locked' then exit
without executing a query. Probably what is required is to retry a
certain number of times or somehow queue the queries such that if
the database is locked (it's a single file, btw), it will wait
until it's not locked anymore (which is what I did with a wrapper
script)
I've not looked at the exim code in question, so I couldn't say
whether or not it handles this locking condition properly. It might
return 'fail' for instance.
--
## List details at http://www.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/