Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 72503ea

Browse filesBrowse files
author
Anselm Kruis
committed
Issue python#122: Disable the C-stack cache, if Py_REF_DEBUG is defined
The cache caused false block leak errors from test suite --huntrleaks / -R runs. The performance penalty is irrelevant in debug builds. https://bitbucket.org/stackless-dev/stackless/issues/122
1 parent 5ef5828 commit 72503ea
Copy full SHA for 72503ea

File tree

Expand file treeCollapse file tree

2 files changed

+9
-0
lines changed
Filter options
Expand file treeCollapse file tree

2 files changed

+9
-0
lines changed

‎Stackless/changelog.txt

Copy file name to clipboardExpand all lines: Stackless/changelog.txt
+5Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@ What's New in Stackless 3.X.X?
99

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

12+
- https://bitbucket.org/stackless-dev/stackless/issues/122
13+
Disable the C-stack cache, if Py_REF_DEBUG is defined. The cache causes false
14+
block leak errors from the test suite. The performance penalty is irrelevant in
15+
debug builds.
16+
1217
- https://bitbucket.org/stackless-dev/stackless/issues/119
1318
Fix a rare bug in the stack unwinding mechanism, that caused a SystemError
1419
exception or an assertion violation, if a __del__()-method or a weakref

‎Stackless/core/stacklesseval.c

Copy file name to clipboardExpand all lines: Stackless/core/stacklesseval.c
+4Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@ cstack_dealloc(PyCStackObject *cst)
6767
slp_cstack_chain = cst;
6868
SLP_CHAIN_REMOVE(PyCStackObject, &slp_cstack_chain, cst, next,
6969
prev);
70+
#ifdef Py_REF_DEBUG
71+
PyObject_Del(cst);
72+
#else
7073
if (Py_SIZE(cst) >= CSTACK_SLOTS) {
7174
PyObject_Del(cst);
7275
}
@@ -77,6 +80,7 @@ cstack_dealloc(PyCStackObject *cst)
7780
cstack_cache[Py_SIZE(cst)] = cst;
7881
++cstack_cachecount;
7982
}
83+
#endif
8084
}
8185

8286

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.