Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e5e065b

Browse files
committed
New function sys.getcheckinterval(), to complement setcheckinterval().
1 parent d6640d4 commit e5e065b

4 files changed

Lines changed: 24 additions & 2 deletions

File tree

Doc/lib/libsys.tex

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,11 @@ \section{\module{sys} ---
197197
or when \code{os._exit()} is called.}
198198
\end{datadesc}
199199

200+
\begin{funcdesc}{getcheckinterval}{}
201+
Return the interpreter's ``check interval'';
202+
see \function{setcheckinterval()}.
203+
\end{funcdesc}
204+
200205
\begin{funcdesc}{getdefaultencoding}{}
201206
Return the name of the current default string encoding used by the
202207
Unicode implementation.

Lib/test/test_sys.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,10 @@ def test_getdefaultencoding(self):
172172

173173
def test_setcheckinterval(self):
174174
self.assertRaises(TypeError, sys.setcheckinterval)
175-
sys.setcheckinterval(120)
176-
sys.setcheckinterval(100)
175+
orig = sys.getcheckinterval()
176+
for n in 0, 100, 120, orig: # orig last to restore starting state
177+
sys.setcheckinterval(n)
178+
self.assertEquals(sys.getcheckinterval(), n)
177179

178180
def test_recursionlimit(self):
179181
self.assertRaises(TypeError, sys.getrecursionlimit, 42)

Misc/NEWS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ What's New in Python 2.3 release candidate?
1010
Core and builtins
1111
-----------------
1212

13+
- The new function sys.getcheckinterval() returns the last value set
14+
by sys.setcheckinterval().
15+
1316
- The Windows implementation of PyThread_start_new_thread() never
1417
checked error returns from Windows functions correctly. As a result,
1518
it could claim to start a new thread even when the Microsoft

Python/sysmodule.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,16 @@ Tell the Python interpreter to check for asynchronous events every\n\
431431
n instructions. This also affects how often thread switches occur."
432432
);
433433

434+
static PyObject *
435+
sys_getcheckinterval(PyObject *self, PyObject *args)
436+
{
437+
return PyInt_FromLong(_Py_CheckInterval);
438+
}
439+
440+
PyDoc_STRVAR(getcheckinterval_doc,
441+
"getcheckinterval() -> current check interval; see setcheckinterval()."
442+
);
443+
434444
static PyObject *
435445
sys_setrecursionlimit(PyObject *self, PyObject *args)
436446
{
@@ -723,6 +733,8 @@ static PyMethodDef sys_methods[] = {
723733
#endif
724734
{"setcheckinterval", sys_setcheckinterval, METH_VARARGS,
725735
setcheckinterval_doc},
736+
{"getcheckinterval", sys_getcheckinterval, METH_NOARGS,
737+
getcheckinterval_doc},
726738
#ifdef HAVE_DLOPEN
727739
{"setdlopenflags", sys_setdlopenflags, METH_VARARGS,
728740
setdlopenflags_doc},

0 commit comments

Comments
 (0)