[ ] I have checked that another pull request for this purpose does not exist.
[x] I have considered, and confirmed that this submission will be valuable to others.
[ ] I have created or updated the relevant documentation for this change on the PHPCI Wiki.
[ ] Do the PHPCI tests pass?
Detailed description of change:
When running on a 7.0 repo, I found that it the phpunit test would hang indefinately. When I ran the command directly in the command line, the command ran but died instantly. After a score of R&D, I finally learned that proc_open has a bug in it where if there is a ton of output on both stdout and stderr at the same time, a dead-lock occurs where one is effectively waiting on the other to finish. This change fixes that converting the processing to be non-blocking and instead relying on PHP to check the status. This bypasses the dead-lock and allows the code to run as expected.
Contribution Type: bug fix Link to Intent to Implement: N/A Link to Bug: N/A
This pull request affects the following areas:
In raising this pull request, I confirm the following (please check boxes):
Detailed description of change:
When running on a 7.0 repo, I found that it the phpunit test would hang indefinately. When I ran the command directly in the command line, the command ran but died instantly. After a score of R&D, I finally learned that proc_open has a bug in it where if there is a ton of output on both stdout and stderr at the same time, a dead-lock occurs where one is effectively waiting on the other to finish. This change fixes that converting the processing to be non-blocking and instead relying on PHP to check the status. This bypasses the dead-lock and allows the code to run as expected.