Return-Path: Delivered-To: apmail-jakarta-tomcat-dev-archive@jakarta.apache.org Received: (qmail 86096 invoked by uid 500); 16 May 2001 16:34:44 -0000 Mailing-List: contact tomcat-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: tomcat-dev@jakarta.apache.org Delivered-To: mailing list tomcat-dev@jakarta.apache.org Received: (qmail 86013 invoked from network); 16 May 2001 16:34:38 -0000 Message-ID: <3B02AC0C.CC27339B@ispsoft.de> Date: Wed, 16 May 2001 18:34:20 +0200 From: Jochen Wiedmann X-Mailer: Mozilla 4.76 [en] (Windows NT 5.0; U) X-Accept-Language: de,en MIME-Version: 1.0 To: tomcat-dev@jakarta.apache.org Subject: Recycle Logic in 3.2.1 broken Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N Hi, I have detected what seems to be a bug in the recycle logic of TomCat 3.2.1. What seems to be happening is, that a response object of some kind is using a Writer and processes the request. In some other request the BufferedServletOutputStream's "usingWriter" flag is still set, in other words, the recycling doesn't seem to work properly. I can demonstrate the problem and create a workaround by adding the following code on top of my servlet. It uses a method isUsingWriter(), which I have added to the BufferedServletOutputStream class: ServletOutputStream os = pRes.getOutputStream(); if (os instanceof org.apache.tomcat.core.BufferedServletOutputStream) { org.apache.tomcat.core.BufferedServletOutputStream bsos = (org.apache.tomcat.core.BufferedServletOutputStream) os; if (bsos.isUsingWriter()) { Trace.Log(this, "tmGet", 5, "OutputStream is using Writer"); bsos.setUsingWriter(false); } }