Commits

Connor Wakamo committed ed061a5bfa5
[driver] Introduced a new TaskQueue class for parallel execution and output buffering. Due to the nature of this class, there are two implementations of TaskQueue: a Unix-specific implementation which supports both parallel execution and output buffering, and a default implementation which supports neither of these features. (The default implementation uses the functions from llvm/Support/Program.h for execution.) TaskQueue allows clients to provide a TaskBeganCallback and a TaskFinishedCallback, each of which will be called when a new task begins or when a task finishes execution, respectively. Clients may add tasks to the TaskQueue in either of these callbacks, and clients can stop further execution by returning TaskFinishedResponse::StopExecution from the TaskFinishedCallback. Swift SVN r12059