You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2012/03/09 21:32:50 UTC

svn commit: r1299034 - /tomcat/trunk/java/org/apache/catalina/session/StandardManager.java

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