self.thread = Thread(target = self._runner, args = (user, password)) def start(self): self.thread.start() return def isAlive(self): return self.thread.isAlive() def getStatus(self): return self._login_status def _runner(self, user, password): return_value = login(user, password) self._login_status = (return_value != 'Network Error') and True or False return gtk.gdk.threads_init() database = DataBase() if not database.has_default(): from gui.auth import Auth Auth(True) gtk.main() if database.has_default(): login_thread_list = [LoginThread(user[0], user[1]) for user in database.get_username_and_password()] for thread in login_thread_list: thread.start() Interface(login_thread_list) gtk.main() sys.exit(0)