apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eric van der Maarel <eric.vandermaa...@nedap.com>
Subject Re: 100% cpu with APR on Windows
Date Thu, 05 May 2011 19:20:54 GMT

Further investigation reveals a difference between running Tomcat on 
Linux and Windows. From the Tomcat Poller thread the apr_pollset_poll() 
is called. When a client in the pollset has disconnected, under Linux 
this call returns (in the rtnevents member of the descriptors resultset)
    49 (=0x31, so that would be APR_POLLIN | APR_POLLERR | APR_POLLHUP), 
while under Windows this always return
    1 (so APR_POLLIN)

The poller in Tomcat reacts on the APR_POLLHUP result, so differently on 
Windows than on Linux. I think the problem lies in the missing 
APR_POLLHUP in the poll return result under Windows (from the 
impl_pollset_poll implemented in select.c by the way).

Anyone any idea why on Windows (select.c) the rtnevents does not have 
the APR_POLLHUP flag up, while on Linux (no idea which poll provider 
version is used ther :-) this flag is set when the client has disconnected?
And how to fix? :-)


| Eric van der Maarel                     |
| NEDAP IDEAS                             |
| eric.vandermaarel@nedap.com             |

View raw message