| // 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 |
| |
| // ExecVersionVariable is the name of the environment variable used by the exec |
| // package to communicate the protocol version between the parent and child. It |
| // takes care to clear this variable from the child process' environment as soon |
| // as it can, however, there may still be some situations where an application |
| // may need to test for its presence or ensure that it doesn't appear in a set |
| // of environment variables; exposing the name of this variable is intended to |
| // support such situations. |
| const ExecVersionVariable = "V23_EXEC_VERSION" |
| |
| const ( |
| version1 = "1.0.0" |
| readyStatus = "ready::" |
| failedStatus = "failed::" |
| initStatus = "init" |
| |
| // eofChar is written onto the status pipe to signal end-of-file. It |
| // should be the last byte written onto the pipe, before closing it. |
| // This signals to the reader that no more input is coming. This is |
| // needed since we cannot use the closing of the write end of the pipe |
| // to send io.EOF to the reader: since there are two write ends (one in |
| // the parent and one in the child), closing any one of the two is not |
| // going to send io.EOF to the reader. |
| // Since the data coming from the child should be valid utf-8, we pick |
| // one of the invalid utf-8 bytes for this. |
| eofChar = 0xFF |
| ) |