+ // Notice that while -1 indicates an error exit code for us, a program
+ // exiting with this code could still have written something to its stdout
+ // and, especially, stderr, so we still need to read from them.
+ if ( !ReadAll(process->GetInputStream(), output) )
+ rc = -1;
+
+ if ( error )