Dennis Lee Bieber wrote: > On Mon, 24 Jul 2006 10:27:08 -0700, "Carl J. Van Arsdall" > > My problem with the fact that python doesn't have some type of "thread > > killer" is that again, the only solution involves some type of polling > > loop. I.e. "if your thread of execution can be written so that it > > And that is because the control of a thread, once started, is > dependent upon the underlying OS...
No; it's because killing a thread from another thread fundamentally sloppy. > The process of creating a thread can > be translated into something supplied by pretty much all operating > systems: an Amiga task, posix thread, etc. > > But ending a thread is then also dependent upon the OS -- and not > all OSs have a way to do that that doesn't run the risk of leaking > memory, leaving things locked, etc. until the next reboot. No operating system has a good way to do it, at least not for the kind of threads Python offers. > The procedure for M$ Windows to end a task basically comes down to > "send the task a 'close window' event; if that doesn't work, escalate... > until in the end it throw its hands up and says -- go ahead and leave > memory in a mess, just stop running that thread". The right procedure in MS Windows is the same as under POSIX: let the thread terminate on its own. > > module without killing the whole system. Any of you guys thought of a > > way around this scenario? > > Ask Bill Gates... The problem is part of the OS. Or learn how to use threads properly. Linux is starting to get good threading. Win32 has had it for quite a while. -- --Bryan -- http://mail.python.org/mailman/listinfo/python-list