diff options
author | Alan Wu <XrXr@users.noreply.github.com> | 2023-03-21 18:16:33 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-21 18:16:33 -0400 |
commit | 08eaf7c5fab7b43f5ff1bbfd4ce1696a30ed802c (patch) | |
tree | c00d6b7e62e6d821ee8edf9b2b1da3f3fdcb4f86 /ext/psych/lib/psych | |
parent | aa54082d70d06bf2dd0d535bb06287b80bb2727f (diff) |
Previously, when there is enough stats that the child process fills up
the pipe capacity, the child process would block, with the parent
process waiting forever as no one is reading to clear up the pipe. The
test timed out in these situations.
Use a separate thread in the parent to read from the pipe to unblock the
child in these situation. EnvUtil also does this for handling stdout and
stderr.
I had the test suite deadlock on a Linux VM.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/7578
Merged-By: XrXr
Diffstat (limited to 'ext/psych/lib/psych')
0 files changed, 0 insertions, 0 deletions