buffindexed, a racing problem?
Alex Kiernan
alexk at demon.net
Tue Jan 21 08:58:03 UTC 2003
"Kiernan, Alex" <alexk at demon.net> writes:
> > 3. Dec 18 00:39:47 expireover[4889] group 1379 allocated the
> > block (0,105633).
> >
> > and at almost the same time,
> >
> > 4. Dec 18 00:39:47 yfs innd: buffindexed: 0x00007aa7 trying to occupy
> > new block(0, 105633), but already occupied
> >
> > Isn't it a racing problem?
>
> Could this be fcntl(F_SETLKW) returning with EINTR? It looks to me like
> inn_lock_range will return in this instance without acquiring the write lock
> - I've spent an hour or so staring a ovblocknew() to see if I could see any
> holes and this is all I can come up with.
>
Different question... could/should we sysdie() on return from
fcntl(F_SETLKW) if we fail?
It'd break some people (me in particular), but it looks a lot safer
since all callers assume it just works.
--
Alex Kiernan, Principal Engineer, Development, THUS plc
More information about the inn-workers
mailing list