diff options
author | Marek Habersack <grendel@twistedcode.net> | 2019-02-01 17:14:28 +0300 |
---|---|---|
committer | Alexander Köplinger <alex.koeplinger@outlook.com> | 2019-02-01 17:14:28 +0300 |
commit | dc1cdb9983fd1c42aae7d8fcce6a5ac5dcedd039 (patch) | |
tree | 1e889edc91ec0324f91e131cc8458878ff32b891 /msvc/mono-sgen-msvc.sh | |
parent | a1973e5cae9172ab6584d45d8d47661b5cb2496a (diff) |
[bcl] Fix possible deadlock race in CSharpCodeGenerator (#12685)
`CSharpCodeGenerator` runs a compiler while redirecting its standard error and
standard output streams for further reporting. However, in doing that it fails
to read the standard output data completely and also fails to properly wait for
the standard error output to complete. Depending on environment it may lead to
the process using `CSharpCodeGenerator` hanging while the process has already
exited but there still is data to be read from standard output and standard
error.
This commit changes the code to an implementation of reading standard error and output
that makes sure all the data is read before the process is closed.
The hope is that it may fix some of the timeouts/hangs we see on the
Xamarin.Android build bots as a portion of them hangs in test that use the
code generator.
Diffstat (limited to 'msvc/mono-sgen-msvc.sh')
0 files changed, 0 insertions, 0 deletions