Reviewers: Kasper Lund,

Description:
Fixed issue 401: os.system() hangs on Mac OS X.

Fixed by falling back to using 'waitpid' instead of 'waitid'.

Please review this at http://codereview.chromium.org/149450

Affected files:
   M src/d8-posix.cc


Index: src/d8-posix.cc
diff --git a/src/d8-posix.cc b/src/d8-posix.cc
index  
3a091f93cc29d0a7ae6b5bd0853c4f8079fff9bf..fe130cef7aa1e69f4054a75400b269f32b2754ca
  
100644
--- a/src/d8-posix.cc
+++ b/src/d8-posix.cc
@@ -370,7 +370,11 @@ static Handle<Value> GetStdout(int child_fd,
  // whether it exited normally.  In the common case this doesn't matter  
because
  // we don't get here before the child has closed stdout and most programs  
don't
  // do that before they exit.
-#if defined(WNOWAIT) && !defined(ANDROID)
+//
+// We're disabling usage of waitid in Mac OS X because it doens't work for  
us:
+// a parent process hangs on waiting while a child process is already a  
zombie.
+// See http://code.google.com/p/v8/issues/detail?id=401.
+#if defined(WNOWAIT) && !defined(ANDROID) && !defined(__APPLE__)
  #define HAS_WAITID 1
  #endif




--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to