On Mon, 10 Nov 1997, Ian Pallfreeman wrote:
> I know I'm rather behind the times with this, but I've just reverse-fitted my
> patch to the db code into 1.73 from 1.651. I'm a bit piqued to see the hack
> that's been put in to catch segvs.
Not very behind the times. I'm actually in the middle of fitting your
patch into the developement code this very day.
> Before applying my own patch, I got frequent segvs from the db code. I put
> this down to a potential race condition, and jiggled a few things in dbfn.c
> to use a lock file instead of "open then lock", which is obviously flawed
> if the db package assumes no concurrent accesses are being made.
>
> Are the folks who were getting segvs from db code interesting in trying a
> drop-in replacement for dbfn.c to see if that cures their problem, rather
> than hoping it won't happen but ignoring it if it does?
>
> FWIW, I'm running on FreeBSD 2.2, 3.0 and SunOS4, and I haven't had a problem
> since mid-August.
Sorry I've been so slow, but life has been busy round here...
I put in the SEGV catch because it was a quick thing to add to an
existing release, and it would hopefully (a) give more information about
when and what the problem was and (b) allow messages to be delivered
that would otherwise get stuck.
I didn't want to add your stuff except at a "major", i.e. fully
documented, release. I am currently doing so; it has to be extended a
bit from what you did because using a single static for the lockfd isn't
good enough; in principle several db files might be open at once.
I hope that explanation de-piques you a bit...
Regards,
Philip
--
Philip Hazel University Computing Service,
ph10@??? New Museums Site, Cambridge CB2 3QG,
P.Hazel@??? England. Phone: +44 1223 334714
--
*** Exim information can be found at
http://www.exim.org/ ***