New function sys.getcheckinterval(), to complement setcheckinterval().
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 @@
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 @@
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 @@
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 @@
);
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 @@
#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},