summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Misc/NEWS.d/next/Library/2019-12-06-15-11-42.bpo-38986.bg6iZt.rst2
-rw-r--r--Modules/_asynciomodule.c18
2 files changed, 19 insertions, 1 deletions
diff --git a/Misc/NEWS.d/next/Library/2019-12-06-15-11-42.bpo-38986.bg6iZt.rst b/Misc/NEWS.d/next/Library/2019-12-06-15-11-42.bpo-38986.bg6iZt.rst
new file mode 100644
index 0000000..7775352
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2019-12-06-15-11-42.bpo-38986.bg6iZt.rst
@@ -0,0 +1,2 @@
+Make repr of C accelerated TaskWakeupMethWrapper the same as of pure Python
+version.
diff --git a/Modules/_asynciomodule.c b/Modules/_asynciomodule.c
index 2d14744..70da40a 100644
--- a/Modules/_asynciomodule.c
+++ b/Modules/_asynciomodule.c
@@ -1815,6 +1815,21 @@ TaskWakeupMethWrapper_dealloc(TaskWakeupMethWrapper *o)
Py_TYPE(o)->tp_free(o);
}
+static PyObject *
+TaskWakeupMethWrapper_get___self__(TaskWakeupMethWrapper *o, void *Py_UNUSED(ignored))
+{
+ if (o->ww_task) {
+ Py_INCREF(o->ww_task);
+ return (PyObject*)o->ww_task;
+ }
+ Py_RETURN_NONE;
+}
+
+static PyGetSetDef TaskWakeupMethWrapper_getsetlist[] = {
+ {"__self__", (getter)TaskWakeupMethWrapper_get___self__, NULL, NULL},
+ {NULL} /* Sentinel */
+};
+
static PyTypeObject TaskWakeupMethWrapper_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
"TaskWakeupMethWrapper",
@@ -1826,6 +1841,7 @@ static PyTypeObject TaskWakeupMethWrapper_Type = {
.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC,
.tp_traverse = (traverseproc)TaskWakeupMethWrapper_traverse,
.tp_clear = (inquiry)TaskWakeupMethWrapper_clear,
+ .tp_getset = TaskWakeupMethWrapper_getsetlist,
};
static PyObject *
@@ -3266,7 +3282,7 @@ module_init(void)
}
if (module_initialized != 0) {
return 0;
- }
+ }
else {
module_initialized = 1;
}