Is there a way to have the parent that spawned a new thread catch the spawned threads exception?  Below is a real basic example of what I am trying to accomplish.  It should stop counting when Exception is raised, but I don't know how to catch it.  Are exceptions thread safe?  I would love to be able to use the Subprocess module, but I am stuck using Python 2.3 and am not sure how else to do this.  Possibly using the threading module?
import time
import thread
def test(): 
    try:
        test = thread.start_new_thread(watchdog, (5,))
        count(10)
    except:
        print('Stopped Counting')
def count(num):
    for i in range(num):
        print i
        time.sleep(1)
def watchdog(timeout):
    time.sleep(timeout)
    raise Exception('Ran out of time')
if __name__ == '__main__':
    test()
UPDATE
My original code was a little misleading. It am really looking for something more like this:
import time
import thread
import os
def test(): 
    try:
        test = thread.start_new_thread(watchdog, (5,))
        os.system('count_to_10.exe')
    except:
        print('Stopped Counting')
def watchdog(timeout):
    time.sleep(timeout)
    raise Exception('Ran out of time')
if __name__ == '__main__':
    test()
I am trying to create a watchdog to kill the os.system call if the program hangs up for some reason.
 
     
     
    