diff -r 65f2c92ed079 Lib/test/test_signal.py --- a/Lib/test/test_signal.py Sun Jul 07 23:30:24 2013 +0200 +++ b/Lib/test/test_signal.py Mon Jul 08 00:34:32 2013 -0600 @@ -209,8 +209,10 @@ for sig in (signal.SIGABRT, signal.SIGBREAK, signal.SIGFPE, signal.SIGILL, signal.SIGINT, signal.SIGSEGV, signal.SIGTERM): - # Set and then reset a handler for signals that work on windows - signal.signal(sig, signal.signal(sig, handler)) + # Set and then reset a handler for signals that work on windows. + # Issue #18396, only for signals without a C-level handler. + if signal.getsignal(sig) is not None: + signal.signal(sig, signal.signal(sig, handler)) with self.assertRaises(ValueError): signal.signal(-1, handler)