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]

Reply via email to