Skip to content

Commit c6801c4

Browse files
committed
asyncio (web)socket support
1 parent ac9fab9 commit c6801c4

File tree

2 files changed

+20
-18
lines changed

2 files changed

+20
-18
lines changed

support/__EMSCRIPTEN__.patches/3.11/asyncio/wasm_events.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
"""Selector event loop for Em with signal handling."""
1+
"""Selector event loop for emsdk."""
22
import sys
33

44
__EMSCRIPTEN__ = (sys.platform=='emscripten')
55

6-
76
import errno
87
import os
98
import selectors
@@ -598,13 +597,15 @@ def sock_connect(self, sock, address):
598597
if self._debug and sock.gettimeout() != 0:
599598
raise ValueError("the socket must be non-blocking")
600599

601-
if not hasattr(socket, "AF_UNIX") or sock.family != socket.AF_UNIX:
602-
resolved = base_events._ensure_resolved(
603-
address, family=sock.family, proto=sock.proto, loop=self
604-
)
605-
if not resolved.done():
606-
yield from resolved
607-
_, _, _, _, address = resolved.result()[0]
600+
# https://github.com/emscripten-core/emscripten/issues/7417
601+
if not __EMSCRIPTEN__:
602+
if not hasattr(socket, "AF_UNIX") or sock.family != socket.AF_UNIX:
603+
resolved = base_events._ensure_resolved(
604+
address, family=sock.family, proto=sock.proto, loop=self
605+
)
606+
if not resolved.done():
607+
yield from resolved
608+
_, _, _, _, address = resolved.result()[0]
608609

609610
fut = self.create_future()
610611
self._sock_connect(fut, sock, address)

support/__EMSCRIPTEN__.patches/3.12/asyncio/wasm_events.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
"""Selector event loop for Em with signal handling."""
1+
"""Selector event loop for emsdk."""
22
import sys
33

44
__EMSCRIPTEN__ = (sys.platform=='emscripten')
55

6-
76
import errno
87
import os
98
import selectors
@@ -598,13 +597,15 @@ def sock_connect(self, sock, address):
598597
if self._debug and sock.gettimeout() != 0:
599598
raise ValueError("the socket must be non-blocking")
600599

601-
if not hasattr(socket, "AF_UNIX") or sock.family != socket.AF_UNIX:
602-
resolved = base_events._ensure_resolved(
603-
address, family=sock.family, proto=sock.proto, loop=self
604-
)
605-
if not resolved.done():
606-
yield from resolved
607-
_, _, _, _, address = resolved.result()[0]
600+
# https://github.com/emscripten-core/emscripten/issues/7417
601+
if not __EMSCRIPTEN__:
602+
if not hasattr(socket, "AF_UNIX") or sock.family != socket.AF_UNIX:
603+
resolved = base_events._ensure_resolved(
604+
address, family=sock.family, proto=sock.proto, loop=self
605+
)
606+
if not resolved.done():
607+
yield from resolved
608+
_, _, _, _, address = resolved.result()[0]
608609

609610
fut = self.create_future()
610611
self._sock_connect(fut, sock, address)

0 commit comments

Comments
 (0)