[Python-ideas] Async API

Guido van Rossum guido at python.org
Thu Oct 25 00:43:27 CEST 2012


On Wed, Oct 24, 2012 at 2:30 PM, Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:
> Yury Selivanov wrote:
>
>> It's not about try..finally nesting, it's about Scheduler being aware
>> that a coroutine is in its 'finally' block and thus shouldn't be
>> interrupted
>> at the moment
>
>
> It would be a bad idea to make a close() method, or anything else
> that might be needed for cleanup purposes, be a 'yield from' call.
> If it's an ordinary function, it can't be interrupted in the world
> we're talking about, so the PEP 419 problem doesn't apply.
>
> If I were feeling in a radical mood, I might go as far as suggesting
> that 'yield' and 'yield from' be syntactically forbidden inside
> a finally clause. That would force you to design your cleanup
> code to be safe from interruptions.

What's the problem with just letting the cleanup take as long as it
wants to and do whatever it wants? That's how try/finally works in
regular Python code.

-- 
--Guido van Rossum (python.org/~guido)



More information about the Python-ideas mailing list