Re: [exim] exim snapshot with sqlite on openbsd ...

Top Page
Delete this message
Reply to this message
Author: Jonathan Vanasco
Date:  
To: Kelley Reynolds
CC: Exim Mailing List
Subject: Re: [exim] exim snapshot with sqlite on openbsd ...
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.