Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Jan 2003 11:55:22 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Nate Lawson <nate@root.org>
Cc:        Sam Leffler <sam@errno.com>, current@FreeBSD.ORG, re@FreeBSD.ORG
Subject:   Re: Serious issues with kqueue on sockets on CURRENT.
Message-ID:  <3E1F252A.FD4098C5@mindspring.com>
References:  <Pine.BSF.4.21.0301101036310.24355-100000@root.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Nate Lawson wrote:
> On Fri, 10 Jan 2003, Sam Leffler wrote:
> > What are "non-data characters"?
> 
> A very zen question.  :)  In this case, It probably means bytes carried in
> an mbuf with a type other than MT_DATA.

Characters that won't come back from a read(2).

The point of the EVFILT_READ character count is to provide a count
of characters that could be retrieved via a subsequent read(2).

So it seems that these include characters in mbufs of type MT_HE?ADER,
if the data hung off ther is considered to be in the sockbuf.

I still don't understand from the code if this is really a problem,
or if it's just that there are a bunch of zero count EVFILT_READ
events that end up popping back, along with non-zero-length ones.
From my understanding of the complaint, it's that they are *all*
zero length.  The "child is waiting" seems to me to be indicating
on which side of the pullup the event is sent (i.e. that the code
was not changed to give correct results in the "already pending data"
case), and that it can be fixed there, too.

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3E1F252A.FD4098C5>