hilos separados en la aplicación pygtk

Tengo problemas para enhebrar mi aplicación pyGTK. Le doy algo de tiempo al hilo para completar su tarea, si hay un problema, continúo de todos modos, pero advierto al usuario. Sin embargo, una vez que continúo, este hilo se detiene hasta que se llama a gtk.main_quit. Esto me está confundiendo.

El código relevante:

class MTP_Connection(threading.Thread):
    def __init__(self, HOME_DIR, username):
        self.filename = HOME_DIR + "mtp-dump_" + username
        threading.Thread.__init__(self)

    def run(self):
        #test run
        for i in range(1, 10):
            time.sleep(1)
            print i   

..........................

start_time = time.time()
conn = MTP_Connection(self.HOME_DIR, self.username)
conn.start()
progress_bar = ProgressBar(self.tree.get_widget("progressbar"),
                           update_speed=100, pulse_mode=True)
while conn.isAlive():
    while gtk.events_pending():
        gtk.main_iteration()
    if time.time() - start_time > 5:
        self.write_info("problems closing connection.")
        break
#after this the program continues normally, but my conn thread stops

Respuestas a la pregunta(1)

Su respuesta a la pregunta