Message301566
| Author |
ncoghlan |
| Recipients |
Mark.Shannon, deleted0524, erik.bray, gregory.p.smith, jdemeyer, ncoghlan, njs, xgdomingo, yselivanov |
| Date |
2017年09月07日.03:43:54 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1504755834.79.0.927947159737.issue29988@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
It isn't writing the test case that's the problem - the same technique we're using for the synchronous CM works for the asynchronous CM as well.
The problem is that unlike the synchronous CM, the DEFER_PENDING_UNTIL opcode isn't sufficient to make the async CM test case *pass*, as "async with" yields control back to the event loop at the YIELD_FROM points, and hence it's always going to be possible for signals to interrupt the transfer of control to and from __aenter__ or __aexit__, even if those methods are themselves implemented in C. |
|