diff options
author | Tim Peters <tim.peters@gmail.com> | 2006-07-10 21:08:24 (GMT) |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2006-07-10 21:08:24 (GMT) |
commit | 32a8361f2da758c1de662b6d5a1b780466e18cf9 (patch) | |
tree | 8f60709d17ff6287fd3028944c799b94045c79da /Python/sysmodule.c | |
parent | 2b221ed6577809c4cc5cfd53963651af247cf546 (diff) | |
download | cpython-32a8361f2da758c1de662b6d5a1b780466e18cf9.zip cpython-32a8361f2da758c1de662b6d5a1b780466e18cf9.tar.gz cpython-32a8361f2da758c1de662b6d5a1b780466e18cf9.tar.bz2 |
After approval from Anthony, merge the tim-current_frames
branch into the trunk. This adds a new sys._current_frames()
function, which returns a dict mapping thread id to topmost
thread stack frame.
Diffstat (limited to 'Python/sysmodule.c')
-rw-r--r-- | Python/sysmodule.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Python/sysmodule.c b/Python/sysmodule.c index 785653e..ea1388b 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -660,6 +660,21 @@ sys_getframe(PyObject *self, PyObject *args) return (PyObject*)f; } +PyDoc_STRVAR(current_frames_doc, +"_current_frames() -> dictionary\n\ +\n\ +Return a dictionary mapping each current thread T's thread id to T's\n\ +current stack frame.\n\ +\n\ +This function should be used for specialized purposes only." +); + +static PyObject * +sys_current_frames(PyObject *self, PyObject *noargs) +{ + return _PyThread_CurrentFrames(); +} + PyDoc_STRVAR(call_tracing_doc, "call_tracing(func, args) -> object\n\ \n\ @@ -722,6 +737,8 @@ static PyMethodDef sys_methods[] = { /* Might as well keep this in alphabetic order */ {"callstats", (PyCFunction)PyEval_GetCallStats, METH_NOARGS, callstats_doc}, + {"_current_frames", sys_current_frames, METH_NOARGS, + current_frames_doc}, {"displayhook", sys_displayhook, METH_O, displayhook_doc}, {"exc_info", sys_exc_info, METH_NOARGS, exc_info_doc}, {"exc_clear", sys_exc_clear, METH_NOARGS, exc_clear_doc}, |