[issue1416] dma(8): Fix race condition in multi-recipient delivery

Daniel Roethlisberger daniel at roe.ch
Thu Jul 16 07:23:57 PDT 2009


Simon 'corecode' Schuber <submit at crater.dragonflybsd.org> 2009-07-16:
> 
> Simon 'corecode' Schubert <corecode at fs.ei.tum.de> added the comment:
> 
> Daniel Roethlisberger wrote:
> > Daniel Roethlisberger <daniel at roe.ch> 2009-07-10:
> >> I guess it is easier to lock the queue file instead of fully
> >> reopening and fixing the unlink() race.
> > 
> > I cleaned up my original hack, maybe this version is a tad more
> > convincing :)
> 
> This doesn't work for me.  All processes are stuck in state lockf.  I 
> think we can't reliably combine fcntl locks and flock locks.

Is that a DragonFlyBSD issue?  On FreeBSD seem to be compatible
(both according to manual page and practical testing).  Using
flock to synchronize on the dup()d / fork()d queue file
descriptor doesnŽt work in this case due to the semantics of
flock.

In any case, IŽm sorry that I cannot test / respond again for 3
weeks since IŽm abroad, far away from keyboard.

-- 
Daniel Roethlisberger
http://daniel.roe.ch/





More information about the Submit mailing list