Repository: commons-dbcp
Updated Branches:
  refs/heads/master ff38c184f -> c046e8639


DBCP-476 Fixes race condition with WeakReference in clean up of AbandonedTrace


Project: http://git-wip-us.apache.org/repos/asf/commons-dbcp/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-dbcp/commit/1a5b367e
Tree: http://git-wip-us.apache.org/repos/asf/commons-dbcp/tree/1a5b367e
Diff: http://git-wip-us.apache.org/repos/asf/commons-dbcp/diff/1a5b367e

Branch: refs/heads/master
Commit: 1a5b367ebabe8dfc3b37481472dca48f115cd261
Parents: ff38c18
Author: Gary Evesson <geves...@atlassian.com>
Authored: Thu Apr 27 11:19:21 2017 +1000
Committer: Pascal Schumacher <pascalschumac...@gmx.net>
Committed: Mon May 7 20:40:30 2018 +0200

----------------------------------------------------------------------
 .../java/org/apache/commons/dbcp2/AbandonedTrace.java   | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-dbcp/blob/1a5b367e/src/main/java/org/apache/commons/dbcp2/AbandonedTrace.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/dbcp2/AbandonedTrace.java 
b/src/main/java/org/apache/commons/dbcp2/AbandonedTrace.java
index e62c100..983d40a 100644
--- a/src/main/java/org/apache/commons/dbcp2/AbandonedTrace.java
+++ b/src/main/java/org/apache/commons/dbcp2/AbandonedTrace.java
@@ -133,12 +133,12 @@ public class AbandonedTrace implements TrackedUse {
         synchronized (this.traceList) {
             final Iterator<WeakReference<AbandonedTrace>> iter = 
traceList.iterator();
             while (iter.hasNext()) {
-                final WeakReference<AbandonedTrace> ref = iter.next();
-                if (ref.get() == null) {
+                final AbandonedTrace trace = iter.next().get();
+                if (trace == null) {
                     // Clean-up since we are here anyway
                     iter.remove();
                 } else {
-                    result.add(ref.get());
+                    result.add(trace);
                 }
             }
         }
@@ -154,11 +154,11 @@ public class AbandonedTrace implements TrackedUse {
         synchronized(this.traceList) {
             final Iterator<WeakReference<AbandonedTrace>> iter = 
traceList.iterator();
             while (iter.hasNext()) {
-                final WeakReference<AbandonedTrace> ref = iter.next();
-                if (trace.equals(ref.get())) {
+                final AbandonedTrace traceInList = iter.next().get();
+                if (trace.equals(traceInList)) {
                     iter.remove();
                     break;
-                } else if (ref.get() == null) {
+                } else if (traceInList == null) {
                     // Clean-up since we are here anyway
                     iter.remove();
                 }

Reply via email to