Lines Matching refs:pipes
232 $process = proc_open($command, $descriptorSpec, $pipes);
240 stream_set_blocking($pipes[0], 0); // Make stdin/stdout/stderr non-blocking
241 stream_set_blocking($pipes[1], 0);
242 stream_set_blocking($pipes[2], 0);
244 if ($txLen == 0) fclose($pipes[0]);
247 if (!$stdoutDone) $rx[] = $pipes[1];
248 if (!$stderrDone) $rx[] = $pipes[2];
250 if ($txOff < $txLen) $tx[] = $pipes[0];
254 $txRet = fwrite($pipes[0], substr($stdin, $txOff, 8192));
256 if ($txOff >= $txLen) fclose($pipes[0]);
260 if ($r == $pipes[1]) {
261 $stdout .= fread($pipes[1], 8192);
262 if (feof($pipes[1])) {
263 fclose($pipes[1]);
266 } else if ($r == $pipes[2]) {
267 $stderr .= fread($pipes[2], 8192);
268 if (feof($pipes[2])) {
269 fclose($pipes[2]);