On 3/16/06, Joe Orton <[EMAIL PROTECTED]> wrote:
> On Wed, Mar 15, 2006 at 01:13:58PM -0800, Garrett Rooney wrote:
> > On 3/15/06, Garrett Rooney <[EMAIL PROTECTED]> wrote:
> ...
> > > > +    else if (lrv == 2) {
> > > > +        ABTS_PTR_EQUAL(tc, s[0], descs[0].desc.s);
> > > > +        ABTS_PTR_EQUAL(tc, s[0], descs[0].client_data);
> > > > +        ABTS_PTR_EQUAL(tc, s[0], descs[1].desc.s);
> > > > +        ABTS_PTR_EQUAL(tc, s[0], descs[1].client_data);
> > > > +        ABTS_ASSERT(tc, "returned events incorrect",
> > > > +                    ((descs[0].rtnevents | descs[1].rtnevents)
> > > > +                     == (APR_POLLIN | APR_POLLOUT))
> > > > +                    && descs[0].rtnevents != descs[1].rtnevents);
> > >
> > > This fails because both rtnevents are actually APR_POLLIN | APR_POLLOUT.
>
> It fails as in the test fails, or it fails to catch the bug?  It would
> need to be rtnevents ^ rtnevents to catch the bug?

The test failed.  When I was writing that I still thought the problem
might be with the test, not the kqueue code.

> > Figured it out.  See r386154 for the fix.  Long standing bug in the
> > kqueue code.  Will backport to 1.2.x real soon now.
>
> Nice work!

Thanks.  One of those "I've been staring at this for weeks, how can
that possibly be the problem?" sort of things ;-)

-garrett

Reply via email to