On 26/09/2011 08:00, Konstantin Kolinko wrote: > 2011/9/20 <[email protected]>: >> Author: markt >> Date: Tue Sep 20 17:05:08 2011 >> New Revision: 1173251 >> >> URL: http://svn.apache.org/viewvc?rev=1173251&view=rev >> Log: >> Don't add to Poller when socket is closing to prevent NPEs. >> >> Modified: >> tomcat/tc7.0.x/trunk/ (props changed) >> tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java >> > >> Modified: >> tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java >> URL: >> http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java?rev=1173251&r1=1173250&r2=1173251&view=diff >> ============================================================================== >> --- >> tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java >> (original) >> +++ >> tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java >> Tue Sep 20 17:05:08 2011 >> @@ -215,7 +215,7 @@ public class Http11AprProtocol extends A >> boolean addToPoller) { >> processor.recycle(); >> recycledProcessors.offer(processor); >> - if (addToPoller) { >> + if (addToPoller && proto.endpoint.isRunning()) { >> ((AprEndpoint)proto.endpoint).getPoller().add( >> socket.getSocket().longValue(), true); >> } >> @@ -234,7 +234,7 @@ public class Http11AprProtocol extends A >> >> if (processor.isAsync()) { >> socket.setAsync(true); >> - } else if (processor.comet) { >> + } else if (processor.comet && proto.endpoint.isRunning()) { >> ((AprEndpoint) proto.endpoint).getCometPoller().add( >> socket.getSocket().longValue(), false); >> } > > If the socket is not added to the poller, shouldn't it be closed instead?
Fair point. I'll take a look. I suspect I was trying to avoid closing the socket twice as that causes other problems. Mark --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
