Add non-blocking Wait() for launched processes
authorTareq A. Siraj <tareq.a.siraj@intel.com>
Tue, 1 Oct 2013 14:28:18 +0000 (14:28 +0000)
committerTareq A. Siraj <tareq.a.siraj@intel.com>
Tue, 1 Oct 2013 14:28:18 +0000 (14:28 +0000)
commitc269c4f505a2dd7c3a88d12706257410ed6c7068
treea7a0f3c199d81d62ec694957e26bcd1bcdedbfa9
parentb9dcca8265e9da01119c47e65f114c3adc972ba6
Add non-blocking Wait() for launched processes

- New ProcessInfo class to encapsulate information about child processes.
- Generalized the Wait() to support non-blocking wait on child processes.
- ExecuteNoWait() now returns a ProcessInfo object with information about
  the launched child. Users will be able to use this object to
  perform non-blocking wait.
- ExecuteNoWait() now accepts an ExecutionFailed param that tells if execution
  failed or not.

These changes will allow users to implement basic process parallel
tools.

Differential Revision: http://llvm-reviews.chandlerc.com/D1728

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191763 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Support/Program.h
lib/Support/Program.cpp
lib/Support/Unix/Program.inc
lib/Support/Windows/Program.inc
unittests/Support/ProgramTest.cpp