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-unsubscribe@tomcat.apache.org For additional commands, e-mail: users-help@tomcat.apache.org