Homec4science

Support non-blocking reads for ExecFuture on Windows

Authored by James Rhodes <jrhodes@redpointsoftware.com.au> on Feb 11 2015, 02:30.

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

Committed
James Rhodes <jrhodes@redpointsoftware.com.au>Feb 11 2015, 02:30
Pushed
aubortMar 17 2017, 12:03
Parents
rPHUe0e4e83511d6: Create log directory if it does not exist
Branches
Unknown
Tags
Unknown

Event Timeline

James Rhodes <jrhodes@redpointsoftware.com.au> committed rPHU9e0ea2c27118: Support non-blocking reads for ExecFuture on Windows (authored by James Rhodes <jrhodes@redpointsoftware.com.au>).Feb 11 2015, 02:30