| // Copyright 2015 The Vanadium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| // Package exec implements process creation and rendezvous, including |
| // sharing a secret with, and passing arbitrary configuration to, the newly |
| // created process via an anoymous pipe. An anonymous pipe is used since |
| // it is the most secure communication channel available. |
| // Once a parent starts a child process it can use WaitForReady to wait |
| // for the child to reach its 'Ready' state. Operations are provided to wait |
| // for the child to terminate, and to terminate the child, cleaning up any state |
| // A child process uses the GetChildHandle function to complete the initial |
| // authentication handshake. The child must call SetReady to indicate that it is |
| // fully initialized and ready for whatever purpose it is intended to fulfill. |
| // This handshake is referred as the 'exec protocol'. |