]> granicus.if.org Git - python/commitdiff
New function sys.getcheckinterval(), to complement setcheckinterval().
authorTim Peters <tim.peters@gmail.com>
Sun, 6 Jul 2003 18:36:54 +0000 (18:36 +0000)
committerTim Peters <tim.peters@gmail.com>
Sun, 6 Jul 2003 18:36:54 +0000 (18:36 +0000)
Doc/lib/libsys.tex
Lib/test/test_sys.py
Misc/NEWS
Python/sysmodule.c

index 558fb36e0246357ca6cac2a9cf24bba82baf52a8..ea4aafaf8d262ae61204df74ab973bcf2d380ca3 100644 (file)
@@ -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.
index 0e61c6fce947e497ed60f66a8020e13462e9d237..48336b45a722427c9ce6c58dea44b467b2795147 100644 (file)
@@ -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)
index 2953dc337dca1f82db52bda49558ebe4850adefa..b793a73e3b7e472bd1aa442a2996f1fe7fa4e214 100644 (file)
--- 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
index edbc2bf5805b2d40dd79922cc785bf25ce4da645..8c77a88cbb7d09e37ccd36918c767aba36b1e148 100644 (file)
@@ -431,6 +431,16 @@ Tell the Python interpreter to check for asynchronous events every\n\
 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)
 {
@@ -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},