From: <jbo...@li...> - 2006-05-23 15:56:32
|
Author: mla...@jb... Date: 2006-05-23 11:56:17 -0400 (Tue, 23 May 2006) New Revision: 4381 Modified: labs/jbossweb/trunk/src/share/classes/org/apache/tomcat/util/net/AprEndpoint.java Log: Add Poll.APR_POLLHUP+Poll.APR_POLLERR to Poll.add flags, so that error and connection close events gets signaled from poller. This works correctly only on Linux platforms. Modified: labs/jbossweb/trunk/src/share/classes/org/apache/tomcat/util/net/AprEndpoint.java =================================================================== --- labs/jbossweb/trunk/src/share/classes/org/apache/tomcat/util/net/AprEndpoint.java 2006-05-23 15:46:10 UTC (rev 4380) +++ labs/jbossweb/trunk/src/share/classes/org/apache/tomcat/util/net/AprEndpoint.java 2006-05-23 15:56:17 UTC (rev 4381) @@ -1141,7 +1141,8 @@ synchronized (this) { for (int i = (addCount - 1); i >= 0; i--) { int rv = Poll.add - (serverPollset, addS[i], Poll.APR_POLLIN); + (serverPollset, addS[i], + Poll.APR_POLLIN | Poll.APR_POLLHUP | Poll.APR_POLLERR); if (rv == Status.APR_SUCCESS) { keepAliveCount++; } else { @@ -1500,7 +1501,8 @@ synchronized (this) { for (int i = (addS.size() - 1); i >= 0; i--) { SendfileData data = (SendfileData) addS.get(i); - int rv = Poll.add(sendfilePollset, data.socket, Poll.APR_POLLOUT); + int rv = Poll.add(sendfilePollset, data.socket, + Poll.APR_POLLOUT | Poll.APR_POLLHUP | Poll.APR_POLLERR); if (rv == Status.APR_SUCCESS) { sendfileData.put(new Long(data.socket), data); sendfileCount++; |