[New-bugs-announce] [issue28466] SIGALRM fails to interrupt time.sleep() call on Python 3.6
Ryan Petrello
report at bugs.python.org
Mon Oct 17 22:52:22 EDT 2016
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 <report at bugs.python.org>
<http://bugs.python.org/issue28466>
_______________________________________
More information about the New-bugs-announce
mailing list