Author: Armin Rigo <[email protected]>
Branch:
Changeset: r94222:fb6f7b8f2635
Date: 2018-04-03 11:30 +0200
http://bitbucket.org/pypy/pypy/changeset/fb6f7b8f2635/
Log: Issue #2780
Ignore any non-keyword args in signal.default_int_handler()
diff --git a/pypy/module/signal/interp_signal.py
b/pypy/module/signal/interp_signal.py
--- a/pypy/module/signal/interp_signal.py
+++ b/pypy/module/signal/interp_signal.py
@@ -166,13 +166,14 @@
return handlers_w[signum]
-def default_int_handler(space, w_signum, w_frame):
+def default_int_handler(space, args_w):
"""
default_int_handler(...)
The default handler for SIGINT installed by Python.
It raises KeyboardInterrupt.
"""
+ # issue #2780: accept and ignore any non-keyword arguments
raise OperationError(space.w_KeyboardInterrupt, space.w_None)
diff --git a/pypy/module/signal/test/test_signal.py
b/pypy/module/signal/test/test_signal.py
--- a/pypy/module/signal/test/test_signal.py
+++ b/pypy/module/signal/test/test_signal.py
@@ -260,6 +260,17 @@
finally:
signal.signal(signum, oldhandler)
+ def test_default_int_handler(self):
+ import signal
+ for args in [(), (1, 2)]:
+ try:
+ signal.default_int_handler(*args)
+ except KeyboardInterrupt:
+ pass
+ else:
+ raise AssertionError("did not raise!")
+
+
class AppTestSignalSocket:
spaceconfig = dict(usemodules=['signal', '_socket'])
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit