[code.view]

[top] / python / PyMOTW / signal / signal_threads_alarm.py

     #!/usr/bin/env python
     # encoding: utf-8
     #
     # Copyright (c) 2008 Doug Hellmann All rights reserved.
     #
     """
     """
     
     __version__ = "$Id$"
     #end_pymotw_header
     
     import signal
     import time
     import threading
     
     def signal_handler(num, stack):
         print time.ctime(), 'Alarm in', threading.currentThread()
     
     signal.signal(signal.SIGALRM, signal_handler)
     
     def use_alarm():
         print time.ctime(), 'Setting alarm in', threading.currentThread()
         signal.alarm(1)
         print time.ctime(), 'Sleeping in', threading.currentThread()
         time.sleep(3)
         print time.ctime(), 'Done with sleep'
     
     # Start a thread that will not receive the signal
     alarm_thread = threading.Thread(target=use_alarm, name='alarm_thread')
     alarm_thread.start()
     time.sleep(0.1)
     
     # Wait for the thread to see the signal (not going to happen!)
     print time.ctime(), 'Waiting for', alarm_thread
     alarm_thread.join()
     
     print time.ctime(), 'Exiting normally'

[top] / python / PyMOTW / signal / signal_threads_alarm.py

contact | logmethods.com