Since threading.Timer is a subclass of Thread, I would expect that the .join() in this script would cause the code to print "woof" once a second, continually:
import threading
def target_action(arg):
    print arg
def start_timer_proc(interval, arg):
    timer = threading.Timer(interval, target_action, [arg])
    timer.start()
    return timer
def main():
    timer = start_timer_proc(1.0, "woof")
    timer.join()
    print("...exiting")
main()
Instead, it prints out "woof" once and then terminates (without any error message). What am I missing?
