From 0704d13a2676c38f837cdd6514e842401279cfc5 Mon Sep 17 00:00:00 2001 From: "estade@chromium.org" Date: Fri, 24 Apr 2009 23:55:36 +0000 Subject: Port unload_uitest.cc and enable some of the tests on linux. Make WaitForSingleProcess respect base::kNoTimeout (which is equivalent to INFINITE on windows). Review URL: http://codereview.chromium.org/99008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14508 0039d316-1c4b-4281-b951-d872f2087c98 --- base/process_util_posix.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'base') diff --git a/base/process_util_posix.cc b/base/process_util_posix.cc index 562b8e9..2e3fd55 100644 --- a/base/process_util_posix.cc +++ b/base/process_util_posix.cc @@ -22,6 +22,7 @@ #include "base/scoped_ptr.h" #include "base/sys_info.h" #include "base/time.h" +#include "base/waitable_event.h" const int kMicrosecondsPerSecond = 1000000; @@ -207,7 +208,7 @@ int WaitpidWithTimeout(ProcessHandle handle, int wait_milliseconds, // has been installed. This means that when a SIGCHLD is sent, it will exit // depending on behavior external to this function. // - // This function is used primarilly for unit tests, if we want to use it in + // This function is used primarily for unit tests, if we want to use it in // the application itself it would probably be best to examine other routes. int status = -1; pid_t ret_pid = waitpid(handle, &status, WNOHANG); @@ -243,7 +244,11 @@ int WaitpidWithTimeout(ProcessHandle handle, int wait_milliseconds, bool WaitForSingleProcess(ProcessHandle handle, int wait_milliseconds) { bool waitpid_success; - int status = WaitpidWithTimeout(handle, wait_milliseconds, &waitpid_success); + int status; + if (wait_milliseconds == base::kNoTimeout) + waitpid_success = (waitpid(handle, &status, 0) != -1); + else + status = WaitpidWithTimeout(handle, wait_milliseconds, &waitpid_success); if (status != -1) { DCHECK(waitpid_success); return WIFEXITED(status); -- cgit v1.1