From e36fcde38309f116c6c06042ad80e7debb7db743 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Fri, 14 Nov 2014 11:45:47 -0800 Subject: - Issue #22841: Reject coroutines in asyncio add_signal_handler(). Patch by Ludovic.Gasc. --- Lib/asyncio/unix_events.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'Lib/asyncio/unix_events.py') diff --git a/Lib/asyncio/unix_events.py b/Lib/asyncio/unix_events.py index b16f946ae4b..e49212e5ea0 100644 --- a/Lib/asyncio/unix_events.py +++ b/Lib/asyncio/unix_events.py @@ -13,6 +13,7 @@ import threading from . import base_events from . import base_subprocess from . import constants +from . import coroutines from . import events from . import selector_events from . import selectors @@ -66,6 +67,8 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop): Raise ValueError if the signal number is invalid or uncatchable. Raise RuntimeError if there is a problem setting up the handler. """ + if coroutines.iscoroutinefunction(callback): + raise TypeError("coroutines cannot be used with call_soon()") self._check_signal(sig) try: # set_wakeup_fd() raises ValueError if this is not the -- cgit v1.2.3