class Ticker(threading.Thread):
    """A very simple thread that merely blocks for :attr:`interval` and sets a
  :class:`threading.Event` when the :attr:`interval` has elapsed. It then waits
  for the caller to unset this event before looping again.
  Example use::
    t = Ticker(1.0) 
    t.start() 
    try:
      while t.evt.wait(): 
        t.evt.clear() 
        print time.time(), "FIRING!"
    except:
      t.stop() 
      t.join() 
  """

def __init__(self, interval):
    super(Ticker, self).__init__()
python: windows equivalent of SIGALRM