]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
asyncio: Use 'collections.abc.Coroutine' in asyncio.iscoroutine (in 3.5)
authorYury Selivanov <yselivanov@sprymix.com>
Wed, 13 May 2015 19:21:41 +0000 (15:21 -0400)
committerYury Selivanov <yselivanov@sprymix.com>
Wed, 13 May 2015 19:21:41 +0000 (15:21 -0400)
Lib/asyncio/coroutines.py

index 20c45798dce6e49762099e33ba3739318d2abd1d..1e0a70497f89414b18081f6cd9a83a8dbfa3f9bd 100644 (file)
@@ -53,6 +53,11 @@ else:
     _is_native_coro_code = lambda code: (code.co_flags &
                                          inspect.CO_COROUTINE)
 
+try:
+    from collections.abc import Coroutine as CoroutineABC
+except ImportError:
+    CoroutineABC = None
+
 
 # Check for CPython issue #21209
 def has_yield_from_bug():
@@ -219,6 +224,9 @@ def iscoroutinefunction(func):
 
 
 _COROUTINE_TYPES = (types.GeneratorType, CoroWrapper)
+if CoroutineABC is not None:
+    _COROUTINE_TYPES += (CoroutineABC,)
+
 
 def iscoroutine(obj):
     """Return True if obj is a coroutine object."""