Is there a way to see why a thread is still open?

JohnnyFive morganhein at gmail.com
Wed Jun 16 14:08:26 EDT 2010


I've got a rather complex program that, for some reason, is not
closing the completed threads when they are finished.

Just to cover my bases, when using the following:

            temp = threading.Thread(target=self.processMessages,
args=(msg, args), name="pubmsg subthread")
            temp.setDaemon(1)
            temp.start()

What I understand is that when 'temp' is done processing, (and there's
no timers or anything, it just processes a message and goes through a
few routines afterwards, but nothing that is a loop/while/or anything
like that), then 'temp' should close on it's own.

So I obviously have something in my code that is keeping the thread
open, but I can't figure out what.

Is there a way to figure out why a thread is staying open? A utility,
or coding trick that I don't know about?

Thanks!



More information about the Python-list mailing list