diff options
| author | 2022-10-21 14:50:37 +0000 | |
|---|---|---|
| committer | 2022-10-21 14:50:37 +0000 | |
| commit | 321f53fb6cf2ad0a5d10bb4045cb12cc8b101dea (patch) | |
| tree | 45e0ad23408274653a7df0bb59192eef5c86f814 /libs/gui/SurfaceComposerClient.cpp | |
| parent | d4b2737644d7807b5d98126a1675db9fdbd86fb2 (diff) | |
| parent | f1e5df1d266f70a508c7b520fd52feced8fbcf61 (diff) | |
Merge "SF: Trigger ANR when buffer cache is full"
Diffstat (limited to 'libs/gui/SurfaceComposerClient.cpp')
| -rw-r--r-- | libs/gui/SurfaceComposerClient.cpp | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/libs/gui/SurfaceComposerClient.cpp b/libs/gui/SurfaceComposerClient.cpp index 2113604e90..9c2ce0f242 100644 --- a/libs/gui/SurfaceComposerClient.cpp +++ b/libs/gui/SurfaceComposerClient.cpp @@ -456,23 +456,24 @@ void TransactionCompletedListener::onTransactionCompleted(ListenerStats listener } } -void TransactionCompletedListener::onTransactionQueueStalled() { - std::unordered_map<void*, std::function<void()>> callbackCopy; - { - std::scoped_lock<std::mutex> lock(mMutex); - callbackCopy = mQueueStallListeners; - } - for (auto const& it : callbackCopy) { - it.second(); - } -} - -void TransactionCompletedListener::addQueueStallListener(std::function<void()> stallListener, - void* id) { +void TransactionCompletedListener::onTransactionQueueStalled(const String8& reason) { + std::unordered_map<void*, std::function<void(const std::string&)>> callbackCopy; + { + std::scoped_lock<std::mutex> lock(mMutex); + callbackCopy = mQueueStallListeners; + } + for (auto const& it : callbackCopy) { + it.second(reason.c_str()); + } +} + +void TransactionCompletedListener::addQueueStallListener( + std::function<void(const std::string&)> stallListener, void* id) { std::scoped_lock<std::mutex> lock(mMutex); mQueueStallListeners[id] = stallListener; } -void TransactionCompletedListener::removeQueueStallListener(void *id) { + +void TransactionCompletedListener::removeQueueStallListener(void* id) { std::scoped_lock<std::mutex> lock(mMutex); mQueueStallListeners.erase(id); } |