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

Reply via email to