Author: schultz
Date: Wed Aug 27 15:52:07 2014
New Revision: 1620917

URL: http://svn.apache.org/r1620917
Log:
Moved resource-freeing code from finalize() to breakdown()
Have finalize() call breakdown() instead of vice-versa.

Modified:
    
tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java

Modified: 
tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=1620917&r1=1620916&r2=1620917&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java 
(original)
+++ 
tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java 
Wed Aug 27 15:52:07 2014
@@ -329,16 +329,6 @@ public abstract class AbstractReplicated
     }
 
     public void breakdown() {
-        // TODO: Invert the call semantics between between breakdown() and 
finalize()
-        try {
-            finalize();
-        } catch (Throwable t) {
-            log.error("Call to finalize() failed", t);
-        }
-    }
-
-    @Override
-    public void finalize() throws Throwable {
         if (this.rpcChannel != null) {
             this.rpcChannel.breakdown();
         }
@@ -354,8 +344,15 @@ public abstract class AbstractReplicated
         innerMap.clear();
         this.stateTransferred = false;
         this.externalLoaders = null;
+    }
 
-        super.finalize();
+    @Override
+    public void finalize() throws Throwable {
+        try {
+            breakdown();
+        } finally {
+            super.finalize();
+        }
     }
 
     @Override



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to