commit | 71578d1e6a901daa17387fe7f88ea348c9ec36c2 | [log] [tgz] |
---|---|---|
author | Adam Lesinski <adamlesinski@fuchsia.infra.roller.google.com> | Fri Apr 29 18:41:03 2022 +0000 |
committer | Copybara-Service <copybara-worker@google.com> | Fri Apr 29 11:42:39 2022 -0700 |
tree | 2934a151d54d990bbafcae8e0677c8d5ae0bd6b6 | |
parent | b2eaec2d8034cd3b0c404fac4a6c6d6b9131a8fa [diff] |
[roll] Roll fuchsia [starnix][binder] Improve reference counting The reference counting implementation now correctly tracks weak and strong references to binder objects in the handle table. An object is kept in the handle table until all references, weak and strong, are released. The underlying object it points to may be dead earlier, however. When a transaction occurs, any binder objects inside the buffer have a strong reference taken by the kernel, and that reference is dropped when the buffer is freed with a BC_FREE_BUFFER command. Weak references are tracked, but they aren't communicated to the owning process. Android doesn't support sending weak references, then upgrading them to strong references. There was work in the kernel to support this supposedly, but userspace never implemented it and the APIs were deprecated and removed. Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/674297 Original-Revision: 07d0e357f956d7a006b49b68fd3242ebd1cce5d6 GitOrigin-RevId: 3e46414a17937505084592096c1d6e0d0fb45b94 Change-Id: Idb905fbd1cb2a3b6a8847c8ee652f19cb7d07a91
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
.