blob: b1b464f92e63111b1bdab679b56dfd9804c0381c [file] [log] [blame]
Jiri Simsad7616c92015-03-24 23:44:30 -07001// 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 Wang8c4e5cc2015-04-09 11:30:52 -07005// 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 Simsa5293dcb2014-05-10 09:56:38 -07008//
Todd Wang8c4e5cc2015-04-09 11:30:52 -07009// 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 Simsa5293dcb2014-05-10 09:56:38 -070012// associated with it.
13//
Bogdan Caprita1e379132014-08-03 23:02:31 -070014// A child process uses the GetChildHandle function to complete the initial
Todd Wang8c4e5cc2015-04-09 11:30:52 -070015// 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 Simsa5293dcb2014-05-10 09:56:38 -070018package exec