diff options
author | joenchen <joenchen@google.com> | 2022-11-22 12:46:04 +0000 |
---|---|---|
committer | joenchen <joenchen@google.com> | 2022-12-01 08:14:38 +0000 |
commit | 4e4fb83bf22fdce683d0ba9044aaf18826f76be0 (patch) | |
tree | dbb96921593801fdb3c9854ab93c1276d9b175a4 /hwc3/ComposerCommandEngine.h | |
parent | 91b5698bd20bb0f38a52fb80172ecdeb7687351a (diff) |
hwc3: Make the ComposerCommandEngine as local variable
A race condition exists because HWC uses only one
ComposerCommandEngine::Writer for all displays.
The writer takes responsibility to package AIDL functions’ return
values and deliver the package to SF. When a thread is packaging
the return value of the inner display by Writer, another
thread may call Writer::reset() for the outer display.
Bug: 247074458
Test: switch applications
Change-Id: I7393bd6d01008b09ac4f4a733fc7d024aaf05352
Diffstat (limited to 'hwc3/ComposerCommandEngine.h')
-rw-r--r-- | hwc3/ComposerCommandEngine.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/hwc3/ComposerCommandEngine.h b/hwc3/ComposerCommandEngine.h index ae68285..872c7e5 100644 --- a/hwc3/ComposerCommandEngine.h +++ b/hwc3/ComposerCommandEngine.h @@ -30,7 +30,7 @@ class ComposerCommandEngine { public: ComposerCommandEngine(IComposerHal* hal, IResourceManager* resources) : mHal(hal), mResources(resources) {} - bool init(); + int32_t init(); int32_t execute(const std::vector<DisplayCommand>& commands, std::vector<CommandResultPayload>* result); |