bpo-29271: Fix Task.current_task and Task.all_tasks to accept None. (#406)

This commit is contained in:
Yury Selivanov 2017-03-02 22:16:33 -05:00 committed by GitHub
parent ba7e1f9a4e
commit 8d26aa930c
4 changed files with 29 additions and 9 deletions

View file

@ -1414,7 +1414,7 @@ TaskObj_get_fut_waiter(TaskObj *task)
@classmethod
_asyncio.Task.current_task
loop: 'O' = NULL
loop: 'O' = None
Return the currently running task in an event loop or None.
@ -1425,11 +1425,11 @@ None is returned when called not in the context of a Task.
static PyObject *
_asyncio_Task_current_task_impl(PyTypeObject *type, PyObject *loop)
/*[clinic end generated code: output=99fbe7332c516e03 input=cd784537f02cf833]*/
/*[clinic end generated code: output=99fbe7332c516e03 input=a0d6cdf2e3b243e1]*/
{
PyObject *res;
if (loop == NULL) {
if (loop == Py_None) {
loop = _PyObject_CallNoArg(asyncio_get_event_loop);
if (loop == NULL) {
return NULL;
@ -1501,7 +1501,7 @@ fail:
@classmethod
_asyncio.Task.all_tasks
loop: 'O' = NULL
loop: 'O' = None
Return a set of all tasks for an event loop.
@ -1510,11 +1510,11 @@ By default all tasks for the current event loop are returned.
static PyObject *
_asyncio_Task_all_tasks_impl(PyTypeObject *type, PyObject *loop)
/*[clinic end generated code: output=11f9b20749ccca5d input=cd64aa5f88bd5c49]*/
/*[clinic end generated code: output=11f9b20749ccca5d input=c6f5b53bd487488f]*/
{
PyObject *res;
if (loop == NULL) {
if (loop == Py_None) {
loop = _PyObject_CallNoArg(asyncio_get_event_loop);
if (loop == NULL) {
return NULL;