New submission from Ryan Petrello: I may have found a bug in SIGALRM handling in Python3.5. I've not been able to reproduce the same issue in Python2.7 or 3.4. Here's a simple example that illustrates the issue (which I'm able to reproduce on OS X 10.11.3 El Capitan and Ubuntu 14.04):
$ python2 --version; python3.4 --version; python3.5 --version Python 2.7.11 Python 3.4.4 Python 3.5.1 $ cat alarm.py import signal, time def handler(signum, frame): print('Signal handler called with signal %s' % signum) # Set the signal handler and a 1-second alarm signal.signal(signal.SIGALRM, handler) signal.alarm(1) # We should not actually sleep for 10 seconds time.sleep(10) signal.alarm(0) $ time python2 alarm.py Signal handler called with signal 14 python2 alarm.py 0.04s user 0.02s system 5% cpu 1.075 total $ time python3.4 alarm.py Signal handler called with signal 14 python3.4 alarm.py 0.07s user 0.01s system 7% cpu 1.092 total $ time python3.5 alarm.py Signal handler called with signal 14 python3.5 alarm.py 0.09s user 0.02s system 1% cpu 10.115 total Note that when run under python3.5, the program does not exit until 10 seconds have passed. ---------- components: Library (Lib) messages: 278835 nosy: ryan.petrello priority: normal severity: normal status: open title: SIGALRM fails to interrupt time.sleep() call on Python 3.6 versions: Python 3.5 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue28466> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com