Author: Brian Kearns <bdkea...@gmail.com> 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 pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit