In this issue: http://bugs.python.org/issue25593 there's a proposal to change the semantics of stop(). I'm looking for feedback about whether this patch would negatively impact anyone.
The key difference is that if you call stop() multiple times before run_forever() actually stops, *currently* the next time that run_forever() is called it will immediately stop again. With the patch, multiple stop() calls will be redundant -- calling stop() will only affect the current run_forever() invocation. Note that run_until_complete() is implemented by combining run_forever() and stop(). (Interestingly, because of the way _run_once() works, if a callback calls call_soon(X) and then stop(), in the current version X will be called before run_forever() returns; while with the patch, run_forever() will return without calling X -- it will be called the next time run_forever() is called.) Thoughts? -- --Guido van Rossum (python.org/~guido)