diff --git a/Objects/descrobject.c b/Objects/descrobject.c index 26a66a9beebd0e..23262e61323e80 100644 --- a/Objects/descrobject.c +++ b/Objects/descrobject.c @@ -746,7 +746,7 @@ PyTypeObject PyWrapperDescr_Type = { 0, /* tp_descr_set */ }; -/* STACKLESS_DECLARE_METHOD(&PyWrapperDescr_Type, tp_call) */ +STACKLESS_DECLARE_METHOD(&PyWrapperDescr_Type, tp_call) static PyDescrObject * descr_new(PyTypeObject *descrtype, PyTypeObject *type, const char *name) diff --git a/Stackless/changelog.txt b/Stackless/changelog.txt index 91929a441be330..edd5bc9c43d943 100644 --- a/Stackless/changelog.txt +++ b/Stackless/changelog.txt @@ -9,6 +9,11 @@ What's New in Stackless 3.X.X? *Release date: 20XX-XX-XX* +- https://github.com/stackless-dev/stackless/issues/201 + Enable stackless calls of "wrapper_descriptor" objects, if soft-switching is + enabled. The code has been in Stackless forever, but was disabled for some + unknown reason. + - https://github.com/stackless-dev/stackless/issues/192 Use the PEP 442 mechanic to finalize a tasklet instead of a arcane logic in tp_dealloc. The finalizer can be called from Python-code: tasklet.__del__(). diff --git a/Stackless/core/stackless_methods.h b/Stackless/core/stackless_methods.h index 7fcaa8d754db8f..136531fb635271 100644 --- a/Stackless/core/stackless_methods.h +++ b/Stackless/core/stackless_methods.h @@ -19,6 +19,7 @@ static _stackless_method _stackless_methtable[] = { /* from descrobject.c */ {&PyMethodDescr_Type, MFLAG_OFS(tp_call)}, {&PyClassMethodDescr_Type, MFLAG_OFS(tp_call)}, + {&PyWrapperDescr_Type, MFLAG_OFS(tp_call)}, {&_PyMethodWrapper_Type, MFLAG_OFS(tp_call)}, /* from funcobject.c */ {&PyFunction_Type, MFLAG_OFS(tp_call)},