Lines Matching refs:signal
1 """PyUnit testing that threads honor our signal semantics"""
4 import signal
12 raise unittest.SkipTest("Can't test signal on %s" % sys.platform)
21 usr1 = signal.signal(signal.SIGUSR1, for_usr1)
22 usr2 = signal.signal(signal.SIGUSR2, for_usr2)
23 alrm = signal.signal(signal.SIGALRM, for_alrm)
27 # The signal handler. Just note that the signal occurred and
35 os.kill(process_pid, signal.SIGUSR1)
36 os.kill(process_pid, signal.SIGUSR2)
41 @unittest.skipUnless(hasattr(signal, "alarm"), "test requires signal.alarm")
46 # Test signal handling semantics of threads.
58 # the signals yet, send yet another signal and
60 if signal_blackboard[signal.SIGUSR1]['tripped'] == 0 \
61 or signal_blackboard[signal.SIGUSR2]['tripped'] == 0:
63 signal.alarm(1)
64 signal.pause()
66 signal.alarm(0)
68 self.assertEqual( signal_blackboard[signal.SIGUSR1]['tripped'], 1)
69 self.assertEqual( signal_blackboard[signal.SIGUSR1]['tripped_by'],
71 self.assertEqual( signal_blackboard[signal.SIGUSR2]['tripped'], 1)
72 self.assertEqual( signal_blackboard[signal.SIGUSR2]['tripped_by'],
96 oldalrm = signal.signal(signal.SIGALRM, self.alarm_interrupt)
100 signal.alarm(1)
106 # of the signal, not that the signal handler was called immediately
110 signal.alarm(0)
111 signal.signal(signal.SIGALRM, oldalrm)
127 oldalrm = signal.signal(signal.SIGALRM, self.alarm_interrupt)
141 signal.alarm(1)
148 signal.alarm(0)
149 signal.signal(signal.SIGALRM, oldalrm)
153 def my_handler(signal, frame):
156 old_handler = signal.signal(signal.SIGUSR1, my_handler)
165 os.kill(process_pid, signal.SIGUSR1)
177 result = lock.acquire() # Block while we receive a signal.
181 signal.signal(signal.SIGUSR1, old_handler)
191 # receive a signal. Check this by repeatedly interrupting a lock
206 old_handler = signal.signal(signal.SIGUSR1, my_handler)
215 os.kill(process_pid, signal.SIGUSR1)
228 # If the signal is received several times before PyErr_CheckSignals()
233 signal.signal(signal.SIGUSR1, old_handler)
239 signal_blackboard = { signal.SIGUSR1 : {'tripped': 0, 'tripped_by': 0 },
240 signal.SIGUSR2 : {'tripped': 0, 'tripped_by': 0 },
241 signal.SIGALRM : {'tripped': 0, 'tripped_by': 0 } }