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 -~----------~----~----~----~------~----~------~--~---
