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: [email protected]
For additional commands, e-mail: [email protected]