| // Copyright 2020 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| @available(added=7) |
| library fuchsia.process.lifecycle; |
| |
| /// A component can implement the Lifecycle protocol to be notified of lifecycle |
| /// events. The ELF Runner uses this protocol to communicate lifecycle changes |
| /// to the component, for more details on how it uses this protocol see: |
| /// https://fuchsia.dev/fuchsia-src/concepts/components/v2/elf_runner#lifecycle |
| protocol Lifecycle { |
| /// The process must clean up its state in preparation for termination, and |
| /// must close the channel hosting the `Lifecycle` protocol when it is |
| /// ready to be terminated. The process should exit after it completes its |
| /// cleanup. At the discretion of the system the process may be terminated |
| /// before it closes the `Lifecycle` channel. |
| Stop(); |
| }; |