Patrick Smith wrote: > Hi, > Thanks for your reply. > > <[EMAIL PROTECTED]> wrote in message > news:[EMAIL PROTECTED] > >>Patrick Smith wrote: >> >>>Hi, >>>I'm hoping someone here will be able to help as I've been struggling > > with > >>>this problem for a few days now. >>> >>>I'm working on an application that is creating a ProgressDialog, and > > then > >>>creating a thread that runs a function from another module in the > > program. > >>>The problem is, when the cancel button on the ProgressDialog is pressed, > > the > >>>thread that was created continues to run. How can I make it so that > > when > >>>the cancel button on the dialog is clicked, the spawned thread dies? >> >>Have the main thread set a flag telling the worker thread to exit, and >>have the worker thread check that periodically when it knows it's in a >>safe state to exit. >> > > > This would work, unfortunately, the thread that it spawns calls a function > in a loop, that function has an incredibly long run-time, on the order of > minutes (possibly hours depending on the input), and that function, its self > is multithreaded. > This means that the worker thread could only check the flag after each > completion of this long-running function. > > Given that this is the situation, is it possible to do what I mentioned > above? Or does the long running function prevent any nice way of doing > this? > > If the function is a black box then you are stymied, I suspect.
Had you considered using a sub-process instead of a thread to perform the lengthy computation? regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://holdenweb.blogspot.com Recent Ramblings http://del.icio.us/steve.holden -- http://mail.python.org/mailman/listinfo/python-list