PERFORCE change 14877 for review
Bosko Milekic
bmilekic at unixdaemons.com
Sat Jul 27 23:49:04 GMT 2002
On Sat, Jul 27, 2002 at 07:20:38PM -0400, Robert Watson wrote:
>
> On Wed, 24 Jul 2002, Bosko Milekic wrote:
>
> > On Wed, Jul 24, 2002 at 07:21:38PM -0700, Robert Watson wrote:
> > > http://people.freebsd.org/~peter/p4db/chv.cgi?CH=14877
> > >
> > > Change 14877 by rwatson at rwatson_curry on 2002/07/24 19:21:02
> > >
> > > Hopefully a bug fix for a bug whereby when one pipe end is
> > > terminated, the label is prematurely destroyed, resulting in
> > > a blank label during follow-up policy checks. I believe this
> > > change modifies the logic so that the pipe label is destroyed
> > > only when the second end-point is removed. We'll see if this
> > > corrects the problem I'm bumping into.
> >
> > Since you have one mutex and one label for both ends of the
> > bi-directional pipe, why don't you just use the code already in place
> > for destroying the mutex 'safely' to also destroy the label? In
> > other words, pipeclose() has this `hadpeer' variable which it
> > increments if it finds that the other end exists (and the mutex is
> > grabbed, then). In other words, just group the label destroy with
> > the mutex destroy. If one is wrong, they're both wrong and you can
> > fix them both at the same time. I think that you should only be
> > destroying the label if it hasn't already been initialized, as well.
> > It could be that this is a partially created pipe and so the mutex
> > (and possibly the label?) have not yet been created. I would examine
> > this further myself but it'll have to wait... :-(
>
> Yeah, I think there may be windows where for fdesc-shared processes (and
> presumably KSE's), the pipe is present but not yet available. An
> interesting question is whether you can perform pipe operations in the
> window, and if so, whether we need to initialize the labels earlier, and
> destroy them later.
I'm actually looking at this today and should be able to come up with
either confirmation that it's correct or a fix. What I initially
thought was a problem may in fact not be, but when I come up with
something, if anything, I'll send you the diff.
> Robert N M Watson FreeBSD Core Team, TrustedBSD Projects
> robert at fledge.watson.org Network Associates Laboratories
--
Bosko Milekic
bmilekic at unixdaemons.com
bmilekic at FreeBSD.org
To Unsubscribe: send mail to majordomo at trustedbsd.org
with "unsubscribe trustedbsd-cvs" in the body of the message
More information about the trustedbsd-cvs
mailing list