Commit c9b7cc0f authored by Victor Stinner's avatar Victor Stinner

Merged revisions 78641 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78641 | victor.stinner | 2010-03-04 01:10:12 +0100 (jeu., 04 mars 2010) | 3 lines

  Issue #7494: fix a crash in _lsprof (cProfile) after clearing the profiler,
  reset also the pointer to the current pointer context.
........
parent d156fa30
...@@ -21,6 +21,9 @@ Core and Builtins ...@@ -21,6 +21,9 @@ Core and Builtins
Library Library
------- -------
- Issue #7494: fix a crash in _lsprof (cProfile) after clearing the profiler,
reset also the pointer to the current pointer context.
- Issue #4961: Inconsistent/wrong result of askyesno function in tkMessageBox - Issue #4961: Inconsistent/wrong result of askyesno function in tkMessageBox
with Tcl/Tk-8.5. with Tcl/Tk-8.5.
......
...@@ -303,12 +303,17 @@ static void clearEntries(ProfilerObject *pObj) ...@@ -303,12 +303,17 @@ static void clearEntries(ProfilerObject *pObj)
{ {
RotatingTree_Enum(pObj->profilerEntries, freeEntry, NULL); RotatingTree_Enum(pObj->profilerEntries, freeEntry, NULL);
pObj->profilerEntries = EMPTY_ROTATING_TREE; pObj->profilerEntries = EMPTY_ROTATING_TREE;
/* release the memory hold by the free list of ProfilerContexts */ /* release the memory hold by the ProfilerContexts */
if (pObj->currentProfilerContext) {
free(pObj->currentProfilerContext);
pObj->currentProfilerContext = NULL;
}
while (pObj->freelistProfilerContext) { while (pObj->freelistProfilerContext) {
ProfilerContext *c = pObj->freelistProfilerContext; ProfilerContext *c = pObj->freelistProfilerContext;
pObj->freelistProfilerContext = c->previous; pObj->freelistProfilerContext = c->previous;
free(c); free(c);
} }
pObj->freelistProfilerContext = NULL;
} }
static void static void
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment