Visitar URL original
Stackless issue #154: fix STACKLESS_PROMOTE_WRAPPER/METHOD · akruis/cpython@cfe9e03 · GitHub
Skip to content

Commit cfe9e03

Browse files
committed
Stackless issue python#154: fix STACKLESS_PROMOTE_WRAPPER/METHOD
Fix the macros STACKLESS_PROMOTE_WRAPPER and STACKLESS_PROMOTE_METHOD to use "&&" instead of "&" for logical values. By chance the bug was harmless. (cherry picked from commit b940f65)
1 parent 1f04e7c commit cfe9e03

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

‎Stackless/changelog.txt‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ What's New in Stackless 3.X.X?
99

1010
*Release date: 20XX-XX-XX*
1111

12+
- https://github.com/stackless-dev/stackless/issues/154
13+
Fix a minor bug in STACKLESS_PROMOTE_WRAPPER and STACKLESS_PROMOTE_METHOD.
14+
1215
- https://github.com/stackless-dev/stackless/issues/150
1316
Thread ids are now unsigned. See bpo-6532. This change of the Python C-API
1417
causes analog changes in the Stackless C-API. In

‎Stackless/core/stackless_impl.h‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -478,11 +478,11 @@ PyTaskletObject * slp_get_watchdog(PyThreadState *ts, int interrupt);
478478
#define STACKLESS_PROMOTE_METHOD(obj, meth) do { \
479479
if ((Py_TYPE(obj)->tp_flags & Py_TPFLAGS_HAVE_STACKLESS_EXTENSION) && \
480480
Py_TYPE(obj)->tp_as_mapping) \
481-
slp_try_stackless = stackless & Py_TYPE(obj)->tp_as_mapping->slpflags.meth; \
481+
slp_try_stackless = stackless && Py_TYPE(obj)->tp_as_mapping->slpflags.meth; \
482482
} while (0)
483483

484484
#define STACKLESS_PROMOTE_WRAPPER(descr) \
485-
(slp_try_stackless = stackless & (descr)->d_slpmask)
485+
(slp_try_stackless = stackless && (descr)->d_slpmask)
486486

487487
#define STACKLESS_PROMOTE_ALL() ((void)(slp_try_stackless = stackless, NULL))
488488

0 commit comments

Comments
 (0)