I am thinking on something in the following form: <code> import time import thread
delay=True def fn() global delay time.sleep(<your_amount_of_time_in_seconds>) delay=False thread.start_new_thread(fn,()) while delay: <statement 1> <statement 2> ... while <other_condition>: <statement 1> <statement 2> ... </code> Or, if you need to use "break", the second loop may be something like: <code> while True: <statement 1> <statement 2> ... if <other_condition>: break <other_statements> ... </code> The two while loops have the same content, but the first is terminated after a pre-determined amount of time, while the second by another condition. Usually the content of the too loops, being the same, is a call to a function that does the actual work. In your case, as time seems to be critical, you don't want to spend it in function-call overheads, so you repeat (cut'n'paste) the relevant code. Of course, the price to be paid is in maintenance headache: you'll have to make all the changes in both loops, to keep consistency. I hope this helps. Sorin __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -- http://mail.python.org/mailman/listinfo/python-list