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