On Fri, May 6, 2011 at 4:18 PM, Mladen Turk <mt...@apache.org> wrote:
> On 05/06/2011 04:02 PM, Eric van der Maarel wrote: > >> Hi, >> >> We're in a discussion on the APR dev mailing list regarding a problem >> with tcnative on XP. On XP the poller implemented in APR with select() >> is being used. According to Jeff Trawick of APR, select can never give >> an APR_POLLHUP return event (see >> http://mail-archives.apache.org/mod_mbox/apr-dev/201105.mbox/browser). >> >> > I followed the discussion and the ideal solution would be to make sure > that the correct flags are returned. > > > >> In the case where we encounter 100% cpu usage when the client connection >> has gone, processSocket() returns true (as almost always). Is this >> intended or wopuld this be a place where a fix could be introduced >> following the line of Jeff Trwick's message mentioned above? >> >> > I suppose the problem is that inside Tomcat we don't check the data > processed. Here the solution would be that if the socket comes out > from the Poller with POLLIN and the subsequent read returns 0 we > should close that socket instead putting it back to Poller. > I presume this is what's going on, right? > Yes, I guess that is where I was going; suggested also by Jeff Trawick of APR. Isn't it what should be going on in processSocket(desc[n*2+1], SocketStatus.OPEN) already (e.g., because the event handler returns with a Handler.SocketState.CLOSED or another more appropriate state to be invented)? Regards, Eric > > Regards > -- > ^TM > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > >