summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2020-03-16 22:58:11 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-03-16 22:58:11 +0000
commit18dd476b0c93b4d0666cc7d2d130a6065b5fea6d (patch)
tree67bfa5a9645adb9f578972f84865cfdb71dfb2b4
parent583092c980bcf777049afb32ee620563e96af200 (diff)
parent4d93b189a9c33bb07a62d8d134357965744ff817 (diff)
Merge "Attempt to fix race condition in PooledLambdaImpl." into rvc-dev
-rwxr-xr-xcore/java/com/android/internal/util/function/pooled/PooledLambdaImpl.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/core/java/com/android/internal/util/function/pooled/PooledLambdaImpl.java b/core/java/com/android/internal/util/function/pooled/PooledLambdaImpl.java
index 8446bbd09df7..e4a44084e91c 100755
--- a/core/java/com/android/internal/util/function/pooled/PooledLambdaImpl.java
+++ b/core/java/com/android/internal/util/function/pooled/PooledLambdaImpl.java
@@ -200,8 +200,9 @@ final class PooledLambdaImpl<R> extends OmniFunction<Object,
try {
return doInvoke();
} finally {
- if (isRecycleOnUse()) doRecycle();
- if (!isRecycled()) {
+ if (isRecycleOnUse()) {
+ doRecycle();
+ } else if (!isRecycled()) {
int argsSize = ArrayUtils.size(mArgs);
for (int i = 0; i < argsSize; i++) {
popArg(i);