Fix regression in reporting leaks introduced by 3c8c7fc7e9c27f87e64aad5bd1df6c58ed8ef36e.
Motivation: 3c8c7fc7e9c27f87e64aad5bd1df6c58ed8ef36e introduced some changes to the ResourceLeakDetector that introduced a regression and so would always log that paranoid leak detection should be enabled even it was already. Modifications: Correctly not clear the recorded stacktraces when we process the reference queue so we can log these. Result: ResourceLeakDetector works again as expected.
This commit is contained in:
parent
003c8cc7ab
commit
c3298a3836
@ -266,7 +266,7 @@ public class ResourceLeakDetector<T> {
|
||||
if (ref == null) {
|
||||
break;
|
||||
}
|
||||
ref.close();
|
||||
ref.dispose();
|
||||
}
|
||||
}
|
||||
|
||||
@ -284,9 +284,7 @@ public class ResourceLeakDetector<T> {
|
||||
break;
|
||||
}
|
||||
|
||||
ref.clear();
|
||||
|
||||
if (!ref.close()) {
|
||||
if (!ref.dispose()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -394,6 +392,11 @@ public class ResourceLeakDetector<T> {
|
||||
}
|
||||
}
|
||||
|
||||
boolean dispose() {
|
||||
clear();
|
||||
return allLeaks.remove(this, LeakEntry.INSTANCE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean close() {
|
||||
// Use the ConcurrentMap remove method, which avoids allocating an iterator.
|
||||
|
Loading…
x
Reference in New Issue
Block a user