This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author njs
Recipients Mark.Shannon, deleted0524, erik.bray, gregory.p.smith, jdemeyer, ncoghlan, njs, xgdomingo, yselivanov
Date 2017-09-07.06:56:06
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1504767367.12.0.758906879115.issue29988@psf.upfronthosting.co.za>
In-reply-to
Content
To make sure I understand correctly: your concern is that the event loop is not implemented in C. So if you have this patch + an async CM that's implemented in C + the async CM never *actually* yields to the event loop, then that will be signal safe... but that last restriction is pretty silly, because what's the point of an async CM that never yields to the event loop. Right?

I see what you mean, but I think this patch is still useful even if it doesn't protect the event loop itself. To get the full benefit, you also need some way to protect your event loop from unexpected KeyboardInterrupt, but that's something Trio already solves and asyncio potentially could. And we knew from the start that to get the *most* benefit from this patch we would also need some way to protect arbitrary chunks of Python code from KeyboardInterrupt so you could protect the __(a)exit__ method itself; needing to protect the loop too isn't a huge stretch beyond that.

(It's possible that enough of uvloop is implemented in C to benefit from this?)
History
Date User Action Args
2017-09-07 06:56:07njssetrecipients: + njs, gregory.p.smith, ncoghlan, Mark.Shannon, erik.bray, jdemeyer, yselivanov, deleted0524, xgdomingo
2017-09-07 06:56:07njssetmessageid: <1504767367.12.0.758906879115.issue29988@psf.upfronthosting.co.za>
2017-09-07 06:56:07njslinkissue29988 messages
2017-09-07 06:56:06njscreate