Open simonbuehler opened 5 years ago
commented back, good catch, we can get this in to the next release
Looking at the code, I think this may be caused by this line in ProcessExtensions.WaitForProcessStart(TimeSpan)
.
isProcessRunning = (process != null && process.HasExited && process.Id != 0);
While ensuring that the child process has started, it seems like the loop would actually wait until it has exited or the timeout elapses, so long-running children would always end up waiting for the full timeout period (10 seconds).
Maybe !process.HasExited
or process.Responding
would be more suitable?
I haven't tested this theory, so it might be off-base. Maybe there are some more intricacies with reading async console output in Mono, but the Nabble link in the comment is dead.
wrote a comment here , this slows things down from 1 to 10 seconds, don't know why its in there for non-mono environments?