Jiri Simsa | d7616c9 | 2015-03-24 23:44:30 -0700 | [diff] [blame] | 1 | // Copyright 2015 The Vanadium Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style |
| 3 | // license that can be found in the LICENSE file. |
| 4 | |
Todd Wang | 8c4e5cc | 2015-04-09 11:30:52 -0700 | [diff] [blame] | 5 | // Package exec implements configuration and secret-sharing between parent and |
| 6 | // child processes via anoymous pipes. Anonymous pipes are used since they are |
| 7 | // the most secure communication channel available. |
Jiri Simsa | 5293dcb | 2014-05-10 09:56:38 -0700 | [diff] [blame] | 8 | // |
Todd Wang | 8c4e5cc | 2015-04-09 11:30:52 -0700 | [diff] [blame] | 9 | // Once a parent starts a child process it can use WaitForReady to wait for the |
| 10 | // child to reach its 'Ready' state. Operations are provided to wait for the |
| 11 | // child to terminate, and to terminate the child, cleaning up any state |
Jiri Simsa | 5293dcb | 2014-05-10 09:56:38 -0700 | [diff] [blame] | 12 | // associated with it. |
| 13 | // |
Bogdan Caprita | 1e37913 | 2014-08-03 23:02:31 -0700 | [diff] [blame] | 14 | // A child process uses the GetChildHandle function to complete the initial |
Todd Wang | 8c4e5cc | 2015-04-09 11:30:52 -0700 | [diff] [blame] | 15 | // authentication handshake. The child must call SetReady to indicate that it |
| 16 | // is fully initialized and ready for whatever purpose it is intended to |
| 17 | // fulfill. This handshake is referred as the 'exec protocol'. |
Jiri Simsa | 5293dcb | 2014-05-10 09:56:38 -0700 | [diff] [blame] | 18 | package exec |