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