commit | 73d9da88003be88c05f7e469f9b64c8c28063262 | [log] [tgz] |
---|---|---|
author | Theodore Dubois <tbodt@fuchsia.infra.roller.google.com> | Mon Aug 14 19:58:29 2023 +0000 |
committer | Copybara-Service <copybara-worker@google.com> | Mon Aug 14 12:59:45 2023 -0700 |
tree | 7e85faa7bb561c0de7e26f4c321e6608e64d2f89 | |
parent | b971c3bfe3816fa45595ad48b8354e1d06b85153 [diff] |
[roll] Roll fuchsia [starnix] Fix Weak<Waiter> leaks keeping Waiter's memory alive Turns out keeping Weaks around prevents the memory used by the object from being freed, even though the object is dropped. The bug was triggered by binder adding a waiter to multiple wait queues, then dropping the waiter after one of the wait queues is woken. The wake removes the waiter only from the wait queue that got woken; and the other wait queue would keep its weak reference forever. This leaked the memory for a few Waiters on each frame due to the binder calls involving surfaceflinger. Part of this change adapts WaiterRef::access to not create a new Waiter object, so Waiter actually has a single owner again. This makes it possible to use Drop for cleanup. Original-Bug: b/288467014 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/898905 Original-Revision: 1e548a7102053a96bbe7ec867dbb36393bf57055 GitOrigin-RevId: 996742ed49e3918dde1e981a81bebda076e38d86 Change-Id: I81ed128929bb241ff9a2dc89503117caa9c86b06
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia
on Freenode.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party
.