rnk added a comment. This is pretty cool. The process launching APIs in LLVM were pretty basic, left a lot to be desired, returned ints, etc etc. This addresses a lot of that.
================ Comment at: clang/trunk/lib/Driver/Driver.cpp:3030 + if (Arg *A = Args.getLastArg(options::OPT__SLASH_MP)) { + C.CoresToUse = llvm::hardware_concurrency(); + StringRef(A->getValue()).getAsInteger(10, C.CoresToUse); ---------------- Seems nice to save a syscall and not ask how many cores we have if we were given an explicit value first. ================ Comment at: llvm/trunk/lib/Support/Windows/Program.inc:424 -ProcessInfo sys::Wait(const ProcessInfo &PI, unsigned SecondsToWait, - bool WaitUntilChildTerminates, std::string *ErrMsg) { - assert(PI.Pid && "invalid pid to wait on, process not started?"); - assert((PI.Process && PI.Process != INVALID_HANDLE_VALUE) && - "invalid process handle to wait on, process not started?"); +bool sys::WaitMany(MutableArrayRef<ProcessInfo *> PIArray, bool WaitOnAll, + unsigned SecondsToWait, bool WaitUntilProcessTerminates) { ---------------- I guess no Posix implementation? It's kind of hard to know if we made the right abstractions without doing it for Windows and *nix. Repository: rC Clang https://reviews.llvm.org/D52193 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits