diff -r db7ec64aac39 Lib/signal.py --- a/Lib/signal.py Mon Jan 26 16:43:36 2015 +0100 +++ b/Lib/signal.py Mon Jan 26 20:57:02 2015 +0200 @@ -12,12 +12,7 @@ Signals = _IntEnum( and (name.startswith('SIG') and not name.startswith('SIG_')) or name.startswith('CTRL_')}) -class Handlers(_IntEnum): - SIG_DFL = _signal.SIG_DFL - SIG_IGN = _signal.SIG_IGN - _globals.update(Signals.__members__) -_globals.update(Handlers.__members__) if 'pthread_sigmask' in _globals: class Sigmasks(_IntEnum): @@ -38,26 +33,14 @@ def _int_to_enum(value, enum_klass): return value -def _enum_to_int(value): - """Convert an IntEnum member to a numeric value. - If it's not a IntEnum member return the value itself. - """ - try: - return int(value) - except (ValueError, TypeError): - return value - - @_wraps(_signal.signal) def signal(signalnum, handler): - handler = _signal.signal(_enum_to_int(signalnum), _enum_to_int(handler)) - return _int_to_enum(handler, Handlers) + return _signal.signal(signalnum, handler) @_wraps(_signal.getsignal) def getsignal(signalnum): - handler = _signal.getsignal(signalnum) - return _int_to_enum(handler, Handlers) + return _signal.getsignal(signalnum) if 'pthread_sigmask' in _globals: diff -r db7ec64aac39 Lib/test/test_signal.py --- a/Lib/test/test_signal.py Mon Jan 26 16:43:36 2015 +0100 +++ b/Lib/test/test_signal.py Mon Jan 26 20:57:02 2015 +0200 @@ -51,9 +51,7 @@ class GenericTests(unittest.TestCase): def test_enums(self): for name in dir(signal): sig = getattr(signal, name) - if name in {'SIG_DFL', 'SIG_IGN'}: - self.assertIsInstance(sig, signal.Handlers) - elif name in {'SIG_BLOCK', 'SIG_UNBLOCK', 'SIG_SETMASK'}: + if name in {'SIG_BLOCK', 'SIG_UNBLOCK', 'SIG_SETMASK'}: self.assertIsInstance(sig, signal.Sigmasks) elif name.startswith('SIG') and not name.startswith('SIG_'): self.assertIsInstance(sig, signal.Signals) @@ -218,7 +216,6 @@ class PosixTests(unittest.TestCase): def test_getsignal(self): hup = signal.signal(signal.SIGHUP, self.trivial_signal_handler) - self.assertIsInstance(hup, signal.Handlers) self.assertEqual(signal.getsignal(signal.SIGHUP), self.trivial_signal_handler) signal.signal(signal.SIGHUP, hup)