| commit | 5909550cecf2d7eb98614a76c19bede9b8f8ef7b | [log] [tgz] |
|---|---|---|
| author | Xyan Bhatnagar <xbhatnag@fuchsia.infra.roller.google.com> | Thu Jan 12 21:00:24 2023 +0000 |
| committer | Copybara-Service <copybara-worker@google.com> | Thu Jan 12 13:01:22 2023 -0800 |
| tree | f4f3449e5be419b180912376745f2f1435ea1c22 | |
| parent | fa881693fe8d67ee6206f2d8fd4781a5dd8b5704 [diff] |
[roll] Roll fuchsia [cm] Remove WeakModelContext Component instances stored a weak reference to ModelContext and as a result, has to deal with the possibility of the context not existing which means an extra enum in ModelError. This CL changes ComponentInstance to keep a strong reference to the ModelContext instead. This is expected to be safe because: 1. ModelContext is an object created at the start of component manager's lifecycle and will exist until component manager stops. 2. There is no ownership cycle between ModelContext and ComponentInstance. 3. When component manager is asked to stop gracefully, all components go through their lifecycle destruction and eventual removal from the topology. Doing so will remove the ComponentInstance object and decrement the counter of the Arc<ModelContext>. 4. Once all components are destroyed, the last reference to ModelContext should be in the Model object. 5. We are assuming that there are no async tasks holding on to the ComponentInstance or ModelContext indefinitely. Original-Bug: 116855 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/787766 Original-Revision: 10fecf8e1c8a19e13cbe964d31f43dd6a5d0955c GitOrigin-RevId: 26cd783516cce6f1956c041e33500fb1af758e3b Change-Id: If36be1ada144f8a3e1aea524f6292217d82c15e3
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.