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

Simon 'corecode' Schubert corecode at fs.ei.tum.de
Thu Jul 16 07:41:47 PDT 2009


Daniel Roethlisberger wrote:
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.
No problem, I fixed the issue by re-opening the queue file.  Thanks for 
your bug report!

cheers
  simon
--
  <3 the future  +++  RENT this banner advert  +++   ASCII Ribbon   /"\
  rock the past  +++  space for low CHF NOW!1  +++     Campaign     \ /
Party Enjoy Relax   |   http://dragonflybsd.org      Against  HTML   \
Dude 2c 2 the max   !   http://golden-apple.biz       Mail + News   / \





More information about the Submit mailing list