+9
−10
Loading
Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more
The compensating onLastStrongRef call could be made even when there was no onIncStrongAttempted call to compensate for. This happened in the OBJECT_LIFETIME_STRONG case when e.g. curCount was initially zero, but was concurrently incremented by another thread. I believe the old code was also incorrect in the curCount = INITIAL_STRONG_VALUE + 1 case, which seems to be possible under unlikely conditions. In that case, I believe the compensating call IS needed. Thus the condition was also changed. Clean cherrypick of 7f27cbc3 from AOSP. Bug: 30503444 Change-Id: I44bcbcbb1264e4b52b6d3750dc39b041c4140381