Fix race condition in SHUTDOWN_PREPARE handling

Race condition happens in CarPowerManagementService during
SHUTDOWN_PREPARE request handling. If all listeners for power
state changes reply back with completion to CPMS before it
updates mProcessingStartTime, processing is not marked as
completed until default (15 mins) timeout is triggered.

Test: manual test

bug: 184883568
Signed-off-by: Mikhail Petrov <mikhail.petrov@gm.com>
Change-Id: I17b052d4824fdbb78673d1df9e4405c306b0d221
2 files changed
tree: bcbebbce5168472e07d5e1ab6550a1ba02eefd83
  1. car-admin-ui-lib/
  2. car-internal-lib/
  3. car-lib/
  4. car-maps-placeholder/
  5. car-systemtest-lib/
  6. car-test-lib/
  7. car-usb-handler/
  8. car_product/
  9. cpp/
  10. data/
  11. experimental/
  12. FrameworkPackageStubs/
  13. obd2-lib/
  14. packages/
  15. procfs-inspector/
  16. service/
  17. tests/
  18. tools/
  19. user/
  20. vehicle-hal-support-lib/
  21. .clang-format
  22. .gitignore
  23. Android.mk
  24. CleanSpec.mk
  25. CPPLINT.cfg
  26. OWNERS
  27. PREUPLOAD.cfg
  28. README.md
  29. TEST_MAPPING
README.md

Native (C++) code format is required to be compatible with .clang-format file. Run

git clang-format --style=file --extension='h,cpp,cc' HEAD~

Note that clang-format is not desirable for Android java files. Therefore the command line above is limited to specific extensions.