Author: markt Date: Fri Mar 9 20:32:50 2012 New Revision: 1299034 URL: http://svn.apache.org/viewvc?rev=1299034&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=52723 Clean-up
Modified: tomcat/trunk/java/org/apache/catalina/session/StandardManager.java Modified: tomcat/trunk/java/org/apache/catalina/session/StandardManager.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/StandardManager.java?rev=1299034&r1=1299033&r2=1299034&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/session/StandardManager.java (original) +++ tomcat/trunk/java/org/apache/catalina/session/StandardManager.java Fri Mar 9 20:32:50 2012 @@ -358,20 +358,41 @@ public class StandardManager extends Man if (log.isDebugEnabled()) log.debug(sm.getString("standardManager.unloading", pathname)); FileOutputStream fos = null; + BufferedOutputStream bos = null; ObjectOutputStream oos = null; + boolean error = false; try { fos = new FileOutputStream(file.getAbsolutePath()); - oos = new ObjectOutputStream(new BufferedOutputStream(fos)); + bos = new BufferedOutputStream(fos); + oos = new ObjectOutputStream(bos); } catch (IOException e) { + error = true; log.error(sm.getString("standardManager.unloading.ioe", e), e); - if (fos != null) { - try { - fos.close(); - } catch (IOException f) { - // Ignore + throw e; + } finally { + if (error) { + if (oos != null) { + try { + oos.close(); + } catch (IOException ioe) { + // Ignore + } + } + if (bos != null) { + try { + bos.close(); + } catch (IOException ioe) { + // Ignore + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException ioe) { + // Ignore + } } } - throw e; } // Write the number of active sessions, followed by the details --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org