This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author yselivanov
Recipients Elvis.Pranskevichus, asvetlov, yselivanov
Date 2018-10-02.19:30:37
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
Vladimir Matveev has discovered that C and Python implementation of asyncio.Task diverge:

* asynciomodule.c:


In we call "fut_obj.cancel()", so either "Task.cancel()" or "Future.cancel()" can be called depending on what "fut_obj" is.

In asynciomodule.c we essentially always call "Future.cancel(fut_obj)".  This probably leads to unexpected behaviour if "fut_obj" is either a Task or a Task subclass with an overloaded "cancel()" method.

We need to first write a set of tests to understand the scope of this; then we'll need to patch asynciomodule.c and backport this to 3.7 & 3.6.
Date User Action Args
2018-10-02 19:30:38yselivanovsetrecipients: + yselivanov, asvetlov, Elvis.Pranskevichus
2018-10-02 19:30:38yselivanovsetmessageid: <>
2018-10-02 19:30:38yselivanovlinkissue34872 messages
2018-10-02 19:30:37yselivanovcreate