summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/lib/libsys.tex5
-rw-r--r--Lib/test/test_sys.py6
-rw-r--r--Misc/NEWS3
-rw-r--r--Python/sysmodule.c12
4 files changed, 24 insertions, 2 deletions
diff --git a/Doc/lib/libsys.tex b/Doc/lib/libsys.tex
index 558fb36..ea4aafa 100644
--- a/Doc/lib/libsys.tex
+++ b/Doc/lib/libsys.tex
@@ -197,6 +197,11 @@ It is always available.
or when \code{os._exit()} is called.}
\end{datadesc}
+\begin{funcdesc}{getcheckinterval}{}
+ Return the interpreter's ``check interval'';
+ see \function{setcheckinterval()}.
+\end{funcdesc}
+
\begin{funcdesc}{getdefaultencoding}{}
Return the name of the current default string encoding used by the
Unicode implementation.
diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py
index 0e61c6f..48336b4 100644
--- a/Lib/test/test_sys.py
+++ b/Lib/test/test_sys.py
@@ -172,8 +172,10 @@ class SysModuleTest(unittest.TestCase):
def test_setcheckinterval(self):
self.assertRaises(TypeError, sys.setcheckinterval)
- sys.setcheckinterval(120)
- sys.setcheckinterval(100)
+ orig = sys.getcheckinterval()
+ for n in 0, 100, 120, orig: # orig last to restore starting state
+ sys.setcheckinterval(n)
+ self.assertEquals(sys.getcheckinterval(), n)
def test_recursionlimit(self):
self.assertRaises(TypeError, sys.getrecursionlimit, 42)
diff --git a/Misc/NEWS b/Misc/NEWS
index 2953dc3..b793a73 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,9 @@ What's New in Python 2.3 release candidate?
Core and builtins
-----------------
+- The new function sys.getcheckinterval() returns the last value set
+ by sys.setcheckinterval().
+
- The Windows implementation of PyThread_start_new_thread() never
checked error returns from Windows functions correctly. As a result,
it could claim to start a new thread even when the Microsoft
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index edbc2bf..8c77a88 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -432,6 +432,16 @@ n instructions. This also affects how often thread switches occur."
);
static PyObject *
+sys_getcheckinterval(PyObject *self, PyObject *args)
+{
+ return PyInt_FromLong(_Py_CheckInterval);
+}
+
+PyDoc_STRVAR(getcheckinterval_doc,
+"getcheckinterval() -> current check interval; see setcheckinterval()."
+);
+
+static PyObject *
sys_setrecursionlimit(PyObject *self, PyObject *args)
{
int new_limit;
@@ -723,6 +733,8 @@ static PyMethodDef sys_methods[] = {
#endif
{"setcheckinterval", sys_setcheckinterval, METH_VARARGS,
setcheckinterval_doc},
+ {"getcheckinterval", sys_getcheckinterval, METH_NOARGS,
+ getcheckinterval_doc},
#ifdef HAVE_DLOPEN
{"setdlopenflags", sys_setdlopenflags, METH_VARARGS,
setdlopenflags_doc},