private void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    _inputPipe?.Dispose();
                    _outputPipe?.Dispose();
                    _pseudoConsole?.Dispose();
                }

                disposedValue = true;
            }
        }
Exemple #2
0
        public void Dispose(bool disposeManaged)
        {
            if (alreadyDisposed)
            {
                return;
            }

            if (disposeManaged)
            {
                _consoleInputWriter?.Dispose();
                _process?.Dispose();
                _pseudoConsole?.Dispose();
                _outputPipe?.Dispose();
                _inputPipe?.Dispose();
            }

            alreadyDisposed = true;
        }
        public void Dispose(bool disposeManaged)
        {
            if (alreadyDisposed)
            {
                return;
            }

            if (disposeManaged)
            {
                ConsoleOutStream.Dispose();
                // Dispose pseudo console before _consoleInputWriter to avoid
                // hanging on call of ClosePseudoConsole
                _pseudoConsole?.Dispose();
                _consoleInputWriter?.Dispose();
                _process?.Dispose();
                _outputPipe?.Dispose();
                _inputPipe?.Dispose();
            }

            alreadyDisposed = true;
        }