From f31af1d645eda0c2b62a8cd6e11cd97ce7394fdd Mon Sep 17 00:00:00 2001 From: Daniil Gentili Date: Thu, 27 Dec 2018 11:59:48 +0000 Subject: [PATCH] Terminate generators when YieldReturnValue is yielded --- src/danog/MadelineProto/Coroutine.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/danog/MadelineProto/Coroutine.php b/src/danog/MadelineProto/Coroutine.php index c5a57630..79bbf08d 100644 --- a/src/danog/MadelineProto/Coroutine.php +++ b/src/danog/MadelineProto/Coroutine.php @@ -69,7 +69,7 @@ final class Coroutine implements Promise if (!$yielded instanceof Promise) { if ($yielded instanceof \YieldReturnValue) { $this->resolve($yielded->getReturn()); - + $this->generator->next(); return; } if (!$this->generator->valid()) { @@ -115,6 +115,7 @@ final class Coroutine implements Promise if ($yielded instanceof \YieldReturnValue) { $this->resolve($yielded->getReturn()); $this->onResolve = null; + $this->generator->next(); return; }