Merge in the new GIL. · pythoncapi/cpython@074e5ed · GitHub
Skip to content

Commit 074e5ed

Browse files
committed
Merge in the new GIL.
1 parent 434736a commit 074e5ed

10 files changed

Lines changed: 522 additions & 73 deletions

File tree

Include/ceval.h

Lines changed: 4 additions & 4 deletions

Include/pystate.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ typedef struct _ts {
8888

8989
PyObject *dict; /* Stores per-thread state */
9090

91+
/* XXX doesn't mean anything anymore (the comment below is obsolete)
92+
=> deprecate or remove? */
9193
/* tick_counter is incremented whenever the check_interval ticker
9294
* reaches zero. The purpose is to give a useful measure of the number
9395
* of interpreted bytecode instructions in a given thread. This

Include/sysmodule.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ PyAPI_FUNC(void) PySys_WriteStderr(const char *format, ...)
1818
Py_GCC_ATTRIBUTE((format(printf, 1, 2)));
1919

2020
PyAPI_DATA(PyObject *) _PySys_TraceFunc, *_PySys_ProfileFunc;
21-
PyAPI_DATA(int) _PySys_CheckInterval;
2221

2322
PyAPI_FUNC(void) PySys_ResetWarnOptions(void);
2423
PyAPI_FUNC(void) PySys_AddWarnOption(const wchar_t *);

Lib/test/test_sys.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,21 @@ def test_setcheckinterval(self):
154154
sys.setcheckinterval(n)
155155
self.assertEquals(sys.getcheckinterval(), n)
156156

157+
def test_switchinterval(self):
158+
self.assertRaises(TypeError, sys.setswitchinterval)
159+
self.assertRaises(TypeError, sys.setswitchinterval, "a")
160+
self.assertRaises(ValueError, sys.setswitchinterval, -1.0)
161+
self.assertRaises(ValueError, sys.setswitchinterval, 0.0)
162+
orig = sys.getswitchinterval()
163+
# sanity check
164+
self.assertTrue(orig < 0.5, orig)
165+
try:
166+
for n in 0.00001, 0.05, 3.0, orig:
167+
sys.setswitchinterval(n)
168+
self.assertAlmostEquals(sys.getswitchinterval(), n)
169+
finally:
170+
sys.setswitchinterval(orig)
171+
157172
def test_recursionlimit(self):
158173
self.assertRaises(TypeError, sys.getrecursionlimit, 42)
159174
oldlimit = sys.getrecursionlimit()

Makefile.pre.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -596,7 +596,7 @@ Objects/unicodeobject.o: $(srcdir)/Objects/unicodeobject.c \
596596
$(OPCODETARGETS_H): $(OPCODETARGETGEN_FILES)
597597
$(OPCODETARGETGEN) $(OPCODETARGETS_H)
598598

599-
Python/ceval.o: $(OPCODETARGETS_H)
599+
Python/ceval.o: $(OPCODETARGETS_H) Python/ceval_gil.h
600600

601601
Python/formatter_unicode.o: $(srcdir)/Python/formatter_unicode.c \
602602
$(BYTESTR_DEPS) \

Objects/longobject.c

Lines changed: 1 addition & 4 deletions

0 commit comments

Comments
 (0)