commit | a7aa13fc7596bdda29363e7a08e038d44efc97e4 | [log] [tgz] |
---|---|---|
author | Yifei Teng <yifeit@fuchsia.infra.roller.google.com> | Fri Sep 17 23:22:29 2021 +0000 |
committer | Copybara-Service <copybara-worker@google.com> | Fri Sep 17 16:23:45 2021 -0700 |
tree | 08715526ccc146fa5b59dc7ee9aa639b1a146d89 | |
parent | a9d1ef94bd54cb263f2dae6125dca5faa3fbb858 [diff] |
[roll] Roll fuchsia [fidl][llcpp] Completely remove WaitForChannel The feature to block the current thread until all sync calls on a `fidl::WireClient` complete and extract the channel had been removed a while ago due to deadlock risks and lack of use. This CL completely removes this concept from the binding internals, resulting in simpler code and easier to reasonable ownership. Now a `ClientBase` weakly references a `AsyncClientBinding`, which has a shared `zx::channel` to which it may vend out new shared references to support in-progress sync calls. Under this ownership model, the channel will be destroyed as soon as the binding tears down (provided there are no sync calls), regardless if the user destroys their client objects. This would help reduce resource leaks. The current semantics is that if the user destroys or teardowns a `Wire{Shared}Client` while there are ongoing sync calls, those sync calls would be allowed to finish, after which the channel is finally destroyed. In the future we would like to explore eagerly interrupting those sync calls in this case (fxbug.dev/78906). Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/582043 Original-Revision: 0d04a4bc93d29c028e2647ee7236af350df1462f GitOrigin-RevId: 80261d4571054d699f82b26f173a8e8a4ad4139f Change-Id: I408c76dba03129f3e2dc6cc3275d858f9130cc73
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
.