From e0a51e783a8b52ec39f59edcc9c69abaee8dffb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mr=C2=B7x?= Date: Fri, 26 Feb 2021 19:04:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HttpServer/Events/OnTask.php | 1 - HttpServer/Events/OnWorkerStart.php | 11 ++--------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/HttpServer/Events/OnTask.php b/HttpServer/Events/OnTask.php index b725dd18..efdfc765 100644 --- a/HttpServer/Events/OnTask.php +++ b/HttpServer/Events/OnTask.php @@ -79,7 +79,6 @@ class OnTask extends Callback } $finish = $this->runTaskHandler($task->data); - Coroutine::getContext()['isComplete'] = true; if (!$finish) { $finish = []; } diff --git a/HttpServer/Events/OnWorkerStart.php b/HttpServer/Events/OnWorkerStart.php index 2a414574..6d79f817 100644 --- a/HttpServer/Events/OnWorkerStart.php +++ b/HttpServer/Events/OnWorkerStart.php @@ -63,15 +63,8 @@ class OnWorkerStart extends Callback if ($sigkill === false) { return $server->stop($workerId); } - while (true) { - $context = Coroutine::getContext(Coroutine::getPcid()); - if (!isset($context['isComplete'])) { - break; - } - $content = $context['isComplete']; - if ($content === true) { - break; - } + while ($server->stats()['coroutine_num'] > 0) { + Coroutine::sleep(0.01); } return $server->stop($workerId); });