X-Spam-Check-By: sourceware.org Message-ID: <43F9B904.1050808@mit.edu> Date: Mon, 20 Feb 2006 07:41:40 -0500 From: Steve Ward User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Python Tkinter after method silently exits Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On upgrading to the latest 1.5.19-4 cygwin release, I find that several previously working python programs began mysteriously exiting. I've boiled the problem down to a skeletal test program (attached), which runs under the prior 1.5.18-1 release but exits under 1.5.19-4. The second thread seems necessary to stimulate the failure; even commenting out the sleep(100) to make it return immediately avoides the spurious exit. When the second thread is running, the self.root.after(...) call apparently causes a silent exit rather than returning. Any help/ideas would be appreciated... - Steve Ward # Demonstrate python/Tkinter threading bug class App: def __init__(self, root): self.root = root self.update_loop() # Start a second thread, to do whatever... self.thread = threading.Thread(target=self.second_thread) self.thread.start() def update_loop(self): print >>sys.stderr, "*** update_loop" self.root.after(400, self.update_loop) def second_thread(self): sleep(100) if __name__ == "__main__": root = TK.Tk() app = App(root) root.mainloop(); -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/