On Tue, Oct 27, 2009 at 05:07:08PM -0700, Dan Price wrote:
> On Tue 27 Oct 2009 at 10:58AM, Edward Pilatowicz wrote:
> > hey all,
> > i have an updated webrev for my previous fix:
> > http://cr.opensolaris.org/~edp/onnv-zmount/
> > 6889379 zoneadm mount fails on opensolaris
> > 6894901 zoneadmd can hang if fdetach() return EBUSY
> > you'll notice i added 6894901 to the fix. i hit this issue while doing
> > regression testing with the zones test suite. i've run the zones test
> > suite with these changes and verified that there are no new regressions.
> zoneadm.c:5655: system's
> zoneadmd.c: 2065: so, do you want to back off at all here? maybe
> sleep for a tenth of a second? Even with the yield, this will
> suck a lot of cpu if we get stuck in this forever.
the assumption is that we will never get stuck in this forever. if we
do then this fix is broken and we need to redesign the exit mechanism.
(i was debating just calling exit(0) instead of fdetach(), but iirc you
spent a while coming up with the door thread exit dance, hence and i
didn't want to change it too much.)
my assumption is that in this case we want to exit as quickly as
possible. By doing a yeild, i'm assuming that the doors thread in our
process should get scheduled before we do and hopefully finish up it's
work, there by allow us to exit (and not spinning too much).
zones-discuss mailing list