Author: Matti Picus <[email protected]>
Branch:
Changeset: r55117:7ad8c65b2edd
Date: 2012-05-16 23:35 +0300
http://bitbucket.org/pypy/pypy/changeset/7ad8c65b2edd/
Log: restore missing signals on windows
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
@@ -25,11 +25,18 @@
SIG_DFL = cpy_signal.SIG_DFL
SIG_IGN = cpy_signal.SIG_IGN
signal_names = list(setup())
-signal_values = [globals()[key] for key in signal_names]
signal_values = {}
for key in signal_names:
signal_values[globals()[key]] = None
-
+if sys.platform == 'win32' and not hasattr(cpy_signal,'CTRL_C_EVENT'):
+ # XXX Hack to revive values that went missing,
+ # Remove this once we are sure the host cpy module has them.
+ signal_values[0] = None
+ signal_values[1] = None
+ signal_names.append('CTRL_C_EVENT')
+ signal_names.append('CTRL_BREAK_EVENT')
+ CTRL_C_EVENT = 0
+ CTRL_BREAK_EVENT = 1
includes = ['stdlib.h', 'src/signals.h']
if sys.platform != 'win32':
includes.append('sys/time.h')
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
@@ -46,8 +46,8 @@
import os
self.signal.__dict__ # crashes if the interpleveldefs are invalid
if os.name == 'nt':
- self.signal.CTRL_BREAK_EVENT
- self.signal.CTRL_C_EVENT
+ assert self.signal.CTRL_BREAK_EVENT == 1
+ assert self.signal.CTRL_C_EVENT == 0
def test_basics(self):
import types, os
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit