From 9796f03a82a0b340a7381a3008e16d656df2fed2 Mon Sep 17 00:00:00 2001
From: Ewald de Wit <ewald.de.wit@gmail.com>
Date: Mon, 21 Sep 2020 18:54:47 +0200
Subject: [PATCH] Prevent infinite loop when asyncio.sleep(0) is used in a loop
 (fixes #34)

---
 nest_asyncio.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/nest_asyncio.py b/nest_asyncio.py
index 7b7466a..5f17c0b 100644
--- a/nest_asyncio.py
+++ b/nest_asyncio.py
@@ -117,7 +117,9 @@ def _patch_loop(loop):
             handle = heappop(scheduled)
             ready.append(handle)
 
-        while ready:
+        for _ in range(len(ready)):
+            if not ready:
+                break
             handle = ready.popleft()
             if not handle._cancelled:
                 handle._run()
-- 
2.23.0

