KernelWakelockReader: provide class level lock when updates staleStats
As the wakelock version number is defined as static to provide consistent versioning across objects, class level static lock should be implemented to prevent racing conditions. To trigger the racing condition, update statsd's stats pulling logic locally to repeatably requesting wakelock stats then wakeup the phone to trigger BatteryStats update routine. The racing condition is 100% reproducible under the setup. The patch has been verified with the setup, and the racing is no longer seen. See more reproduce details in the linked bug. Bug: 173539101 Test: manual Change-Id: I386afa2f2ecd8678e71ece978da4a9950b21ca4d
Loading
Please register or sign in to comment