/// import { ChildProcess } from 'child_process'; /** * Prevent errors originating from the stdin stream related * to the child process closing the pipe from bubbling up and * causing an unhandled exception when no error handler is * attached to the input stream. * * The common scenario where this happens is if the consumer * is writing data to the stdin stream of a child process and * the child process for one reason or another decides to either * terminate or simply close its standard input. Imagine this * scenario * * cat /dev/zero | head -c 1 * * The 'head' command would close its standard input (by terminating) * the moment it has read one byte. In the case of Git this could * happen if you for example pass badly formed input to apply-patch. * * Since consumers of dugite using the `exec` api are unable to get * a hold of the stream until after we've written data to it they're * unable to fix it themselves so we'll just go ahead and ignore the * error for them. By supressing the stream error we can pick up on * the real error when the process exits when we parse the exit code * and the standard error. * * See https://github.com/desktop/desktop/pull/4027#issuecomment-366213276 */ export declare function ignoreClosedInputStream({ stdin }: ChildProcess): void;