On 09/14/2010 12:28 AM, Brett Delle Grazie wrote:

Detaching AJP streams from the servlet and using them
as a OutputStream is not very well handled in Tomcat.
I suppose if using APR the entire thing would even crash the JVM.

Trying to deal with that on mod_jk side would have my strong -1.

And I would agree with that whole heartedly.

So I guess the APR AJP connector implementation needs to be reviewed...
I am looking but as I'm not familiar with the code any help or pointers
would be appreciated.


For AJP APR connector 'if (actionCode == ActionCode.ACTION_CLIENT_FLUSH)'
doesn't check if the socket was already virtually closed
so I guess that would be a first thing to look at.
We cannot just check for finished flag thought, cause recycle() would reset 
that.
Instead if there was getOutputSteam() we would need to directly
invalidate that stream. This means we would need to remember that stream
somewhere.

Further more the wrapped socket is 'long' pointing to the
native pointer, so we don't have object notification on
physical socket close (that's another problem that manifests
in JVM core for detached sockets).

Should I raise a bugzilla bug?


Yes, and a dev list would be better place to discuss that further.


Regards
--
^TM

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

Reply via email to