HomePhabricator

Support non-blocking reads for ExecFuture on Windows

Description

Support non-blocking reads for ExecFuture on Windows

Summary:
This enables non-blocking reads on Windows for ExecFuture by redirecting the process's standard output and error to temporary files. We then use stream_select on the open files to determine when there is new data to read.

This is primarily to enable setUpdateInterval to work on FutureIterator when running under Windows, which is essential when performing arc unit --everything with lots of tests.

Test Plan: Ran arc diff and arc unit --everything on a project with lots of tests. Saw everything behave correctly and saw setUpdateInterval work as it does on Linux.

Reviewers: Blessed Reviewers, epriestley

Reviewed By: Blessed Reviewers, epriestley

Subscribers: Korvin, epriestley

Differential Revision: https://secure.phabricator.com/D11688

Details

Provenance
hach-queAuthored on
hach-quePushed on Feb 11 2015, 1:32 AM
Reviewer
Blessed Reviewers
Differential Revision
D11688: Support non-blocking reads for ExecFuture on Windows
Parents
rPHUe0e4e83511d6: Create log directory if it does not exist
Branches
Unknown
Tags
Unknown