Initial support for application Zygote.
When an application has requested isolated services to be spawned from an app zygote, we need to spawn the app zygote itself, and then ask it to fork an isolated service. The application zygote currently only creates the class loader, and doesn't do much else. We keep track of the isolated services that use the app zygote, and when the last isolated service goes away, we stop the app zygote itself (after a timeout). The app zygote itself runs with the app's UID and under the app seccomp filter. That last one is too restricted, so this currently only works with SELinux disabled. Future CLs will add an application callback for preloading. Test: start multiple isolated services with useAppZygote="true", verify app_zygote starts, services start as a child of app_zygote. Stopping all services stops app_zygote as well. Bug: 111434506 Change-Id: I10ee1d4bd148c9298974d434fbc5e5eccbec16cb
Loading
Please register or sign in to comment