From 9da626701289791690490b2272b25e1f4f0e1db0 Mon Sep 17 00:00:00 2001 From: leojay <130761+leojay@users.noreply.github.com> Date: Mon, 19 Oct 2020 14:01:44 -0700 Subject: [PATCH] Fix a crash in pypy. Apparently, in pypy, "signal.set_wakeup_fd" doesn't have the keyword argument warn_on_full_buffer. Here is a simple script to reproduce this problem: import trio async def handler(stream: trio.abc.Stream): await stream.receive_some(1) async def trio_main(): socket_listeners = await trio.serve_tcp(handler) trio.run(trio_main) --- trio/_core/_wakeup_socketpair.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trio/_core/_wakeup_socketpair.py b/trio/_core/_wakeup_socketpair.py index 86eaeb6355..d78b1a506b 100644 --- a/trio/_core/_wakeup_socketpair.py +++ b/trio/_core/_wakeup_socketpair.py @@ -6,7 +6,7 @@ from .. import _core from .._util import is_main_thread -if sys.version_info >= (3, 7): +if sys.version_info >= (3, 7) and '__pypy__' not in sys.builtin_module_names: HAVE_WARN_ON_FULL_BUFFER = True else: HAVE_WARN_ON_FULL_BUFFER = False