Skip to content

Commit 8472ca8

Browse files
committed
fix-python-websockets#762: add asyncio_create_task as a compatability function
1 parent 53c9c8e commit 8472ca8

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

src/websockets/compatibility.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import asyncio
2+
3+
try: # pragma: no cover
4+
asyncio_create_task = asyncio.create_task # Python ≥ 3.7
5+
except AttributeError: # pragma: no cover
6+
asyncio_create_task = asyncio.ensure_future # Python < 3.7

src/websockets/server.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
cast,
2929
)
3030

31+
from .compatibility import asyncio_create_task
3132
from .exceptions import (
3233
AbortHandshake,
3334
InvalidHandshake,
@@ -715,9 +716,7 @@ async def _close(self) -> None:
715716
if self.websockets:
716717
await asyncio.wait(
717718
[
718-
asyncio.ensure_future(websocket.close(1001))
719-
if sys.version_info[:2] < (3, 7)
720-
else asyncio.create_task(websocket.close(1001))
719+
asyncio_create_task(websocket.close(1001))
721720
for websocket in self.websockets
722721
],
723722
loop=self.loop if sys.version_info[:2] < (3, 8) else None,

0 commit comments

Comments
 (0)