On 26/07/2011 04:48, Konstantin Kolinko wrote:
> 2011/7/22  <ma...@apache.org>:
>> Author: markt
>> Date: Fri Jul 22 17:32:56 2011
>> New Revision: 1149665
>>
>> URL: http://svn.apache.org/viewvc?rev=1149665&view=rev
>> Log:
>> Proposal
>>
>> Modified:
>>    tomcat/tc6.0.x/trunk/STATUS.txt
>>
> 
>>
>> +* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=51515
>> +  Prevent immediate socket close when comet is used over HTTPS
>> +  http://people.apache.org/~markt/patches/2011-07-22-bug51515-tc6.patch
>> +  (note: The only change to NioEndpoint is adding a sync)
>> +  +1: markt
>> +  -1:
> 
> 1) Regarding the sync in NioEndpoint:
> 
> Do we synchronize elsewhere on the same socket (an instance of NioChannel)?

Not that I am aware of.

> I mean, what this sync protects against - two instances of
> NioEndpoint$SocketProcessor that use the same "socket"?

Correct. That is what adding this sync is intended to prevent.

> or second concurrent access is elsewhere and is already using the same sync?
> In TC7 this sync was added in r1001698 which changed a lot of files.
> 
> 
> 2) Regarding the change in Http11NioProtocol:
> 
> I do not have much understanding of that code. It is more of curiosity:
> 
> if I understand it correctly, effectively it replaces
>   NioEndpoint$Poller.add(socket,att.getCometOps());
> with
>   NioEndpoint$Poller.add(socket)
> and that method actually calls
>   NioEndpoint$Poller.add(socket, SelectionKey.OP_READ);
> 
> Is this change needed because att.getCometOps() has wrong value?

Correct. I tried to figure out how the various fields that store
interested ops are meant to be used but I couldn't figure out what was
meant to be going on. Ideally, I was looking for a place where cometOps
wasn't being correctly set/reset but couldn't find one. In the end, I
opted for aligning the Tomcat 6 code with what Tomcat 7 does at that
point and it started working.

Mark



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to