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?
> 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!
joe