From fa769a2c2102fe4e831f2c90e5a8c0eb37c117bd Mon Sep 17 00:00:00 2001 From: Romain Neutron Date: Tue, 13 Aug 2013 19:23:51 +0200 Subject: [PATCH] [Process] Add more precision to Process::stop timeout --- src/Symfony/Component/Process/Process.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/Symfony/Component/Process/Process.php b/src/Symfony/Component/Process/Process.php index 94ce99120025..f769b8b129d3 100644 --- a/src/Symfony/Component/Process/Process.php +++ b/src/Symfony/Component/Process/Process.php @@ -631,12 +631,10 @@ public function getStatus() */ public function stop($timeout = 10) { - $timeoutMicro = (int) $timeout*1E6; + $timeoutMicro = microtime(true) + $timeout; if ($this->isRunning()) { proc_terminate($this->process); - $time = 0; - while (1 == $this->isRunning() && $time < $timeoutMicro) { - $time += 1000; + while ($this->isRunning() && microtime(true) < $timeoutMicro) { usleep(1000); }