commandConn implements net.Conn
| 74 | |
| 75 | // commandConn implements net.Conn |
| 76 | type commandConn struct { |
| 77 | cmdMutex sync.Mutex // for cmd, cmdWaitErr |
| 78 | cmd *exec.Cmd |
| 79 | cmdWaitErr error |
| 80 | cmdExited atomic.Bool |
| 81 | stdin io.WriteCloser |
| 82 | stdout io.ReadCloser |
| 83 | stderrMu sync.Mutex // for stderr |
| 84 | stderr bytes.Buffer |
| 85 | stdinClosed atomic.Bool |
| 86 | stdoutClosed atomic.Bool |
| 87 | closing atomic.Bool |
| 88 | localAddr net.Addr |
| 89 | remoteAddr net.Addr |
| 90 | } |
| 91 | |
| 92 | // kill terminates the process. On Windows it kills the process directly, |
| 93 | // whereas on other platforms, a SIGTERM is sent, before forcefully terminating |
nothing calls this directly
no outgoing calls
no test coverage detected