New function sys.getcheckinterval(), to complement setcheckinterval().

This commit is contained in:
Tim Peters 2003-07-06 18:36:54 +00:00
parent d6640d4bd0
commit e5e065b669
4 changed files with 24 additions and 2 deletions

View 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.

View 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)

View File

@ -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

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