Lines Matching full: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
36 # * It verifies that a signal delivered to a background thread still has
38 # * It ensures the signal is handled before the thread exits.
39 signal.raise_signal(signal.SIGUSR1)
40 signal.raise_signal(signal.SIGUSR2)
49 # Test signal handling semantics of threads.
57 self.assertEqual( signal_blackboard[signal.SIGUSR1]['tripped'], 1)
58 self.assertEqual( signal_blackboard[signal.SIGUSR1]['tripped_by'],
60 self.assertEqual( signal_blackboard[signal.SIGUSR2]['tripped'], 1)
61 self.assertEqual( signal_blackboard[signal.SIGUSR2]['tripped_by'],
85 oldalrm = signal.signal(signal.SIGALRM, self.alarm_interrupt)
89 signal.alarm(1)
95 # of the signal, not that the signal handler was called immediately
99 signal.alarm(0)
100 signal.signal(signal.SIGALRM, oldalrm)
116 oldalrm = signal.signal(signal.SIGALRM, self.alarm_interrupt)
130 signal.alarm(1)
137 signal.alarm(0)
138 signal.signal(signal.SIGALRM, oldalrm)
142 def my_handler(signal, frame): argument
145 old_handler = signal.signal(signal.SIGUSR1, my_handler)
154 os.kill(process_pid, signal.SIGUSR1)
166 result = lock.acquire() # Block while we receive a signal.
170 signal.signal(signal.SIGUSR1, old_handler)
180 # receive a signal. Check this by repeatedly interrupting a lock
195 old_handler = signal.signal(signal.SIGUSR1, my_handler)
204 os.kill(process_pid, signal.SIGUSR1)
217 # If the signal is received several times before PyErr_CheckSignals()
222 signal.signal(signal.SIGUSR1, old_handler)
228 signal_blackboard = { signal.SIGUSR1 : {'tripped': 0, 'tripped_by': 0 },
229 signal.SIGUSR2 : {'tripped': 0, 'tripped_by': 0 },
230 signal.SIGALRM : {'tripped': 0, 'tripped_by': 0 } }