Kevin Jacobs wrote: > On Thu, 12 Jun 2003, Guido van Rossum wrote: > > > In that past, there have been a few times where it would have > > > been very convenient to terminate/signal another thread by > > > posting an exception to it. Using KeyboardInterrupt to do so is > > > okay, although it seems like something of a kludge. > > > > This gets into the general discussion about whether threads should > > be stoppable. > > True -- I am of the opinion that threads should be cooperatively > stoppable, but not preemptively stoppable, if that makes sense. > Asynchronous exceptions are the ideal way of implementing this, since > the main interpreter loop is essentially already instrumented to > handle them. Exactly. > > Also, this mechanism can *only* interrupt the main thread. (That's > > even true of the more generalized version you were thinking of.) I wonder if that limitation would be liftable? Anybody interested in persuing this with me? > Ah.. that sounds familiar. I knew there was a reason I didn't pursue > this avenue farther last time I poked through that code. Same here. The code that checks for interrupts explicitly does nothing when called from a thread that's not the main thread. Naming: putting this into main sounds just right, but I would suggest to call it sys.interrupt() instead of sys.interrupt_main(). That way *if* we ever add the possibility to interrupt a non-main thread, sys.interrupt() could grow an optional argument specifying the thread. Just
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4