Author: Brian Kearns <[email protected]>
Branch:
Changeset: r61306:04926eb3ab15
Date: 2013-02-16 03:15 -0500
http://bitbucket.org/pypy/pypy/changeset/04926eb3ab15/
Log: prevent signals from being disabled twice
diff --git a/pypy/module/__pypy__/test/test_signal.py
b/pypy/module/__pypy__/test/test_signal.py
--- a/pypy/module/__pypy__/test/test_signal.py
+++ b/pypy/module/__pypy__/test/test_signal.py
@@ -3,6 +3,18 @@
from pypy.module.thread.test.support import GenericTestThread
+class TestThreadSignal:
+ spaceconfig = dict(usemodules=['__pypy__', 'thread'])
+
+ def test_exit_twice(self, space):
+ from pypy.module.__pypy__.interp_signal import signals_exit,
signals_enter
+ signals_exit(space)
+ try:
+ raises(KeyError, signals_exit, space)
+ finally:
+ signals_enter(space)
+
+
class AppTestMinimal:
spaceconfig = dict(usemodules=['__pypy__'])
diff --git a/pypy/module/thread/threadlocals.py
b/pypy/module/thread/threadlocals.py
--- a/pypy/module/thread/threadlocals.py
+++ b/pypy/module/thread/threadlocals.py
@@ -57,10 +57,7 @@
def disable_signals(self):
ident = rthread.get_ident()
- try:
- new = self._signalsenabled[ident] - 1
- except KeyError:
- return
+ new = self._signalsenabled[ident] - 1
if new > 0:
self._signalsenabled[ident] = new
else:
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit