summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-24 23:55:36 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-24 23:55:36 +0000
commit0704d13a2676c38f837cdd6514e842401279cfc5 (patch)
tree810841ac6ee37b37a2e87793711daaea564cb253 /base
parent6cabe2099c7006d12d7416a6f7349ebbee398abc (diff)
downloadchromium_src-0704d13a2676c38f837cdd6514e842401279cfc5.zip
chromium_src-0704d13a2676c38f837cdd6514e842401279cfc5.tar.gz
chromium_src-0704d13a2676c38f837cdd6514e842401279cfc5.tar.bz2
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
Diffstat (limited to 'base')
-rw-r--r--base/process_util_posix.cc9
1 files changed, 7 insertions, 2 deletions
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);