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},