<div dir="ltr">I want to send a big amount of data to a child process through pipe. However, it is stated in the documentation that writing too much into the pipe may cause a deadlock.<div><div><h1 style="font-family:sans-serif"><font color="#666666">TProcess.Input</font></h1></div><div><p style="font-family:sans-serif;font-size:14px"><font color="#666666"><var>Input</var> is a stream which is connected to the process' standard input file handle. Anything written to this stream can be read by the process.</font></p><p style="font-family:sans-serif;font-size:14px"><font color="#666666">The <var>Input</var> stream is only instantiated when the <var>poUsePipes</var> flag is used in <a href="http://lazarus-ccr.sourceforge.net/docs/fcl/process/tprocess.options.html" style="text-decoration:none">Options</a>.</font></p><p style="font-family:sans-serif;font-size:14px"><font color="#666666">Note that writing to the stream may cause the calling process to be suspended when the created process is not reading from it's input, or to cause errors when the process has terminated.</font></p><p style="color:rgb(0,0,0);font-family:sans-serif;font-size:14px"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small">How can I prevent from deadlock?</span></p></div></div></div>