Killing subservient threads

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Fri Feb 20 12:21:42 EST 2009


En Fri, 20 Feb 2009 14:47:27 -0200, jimzat <jimzat at iname.com> escribió:

> I am trying to create an app which will have a main window from which
> the user will launch other (children) windows.
>
> When I launch the child window I start a new thread which periodically
> polls another device and updates the child window accordingly.  When I
> dismiss the child window the "polling" thread stays alive and then
> crashes with an exception when trying to write to the now defunct
> child window.
>
> How can I handle this?  I want to either 1) have the destructor for
> the child window kill the spawned thread or 2) catch the exception
> within the "polling" thread and see that the child window is gone and
> then commit suicide.

1) make the child window set a flag in the thread (let's say, t.terminate  
= True). And make the polling thread check the flag periodically (you  
possibly already have a loop there - just break the loop when you detect  
that self.terminate became true)

2) catching an exception is as easy as enclosing the code in a try/except  
block. And "commit suicide" is just "exit from the run() method".

-- 
Gabriel Genellina




More information about the Python-list mailing list