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 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.
History
Date User Action Args
2017-09-07 03:43:54ncoghlansetrecipients: + ncoghlan, gregory.p.smith, njs, Mark.Shannon, erik.bray, jdemeyer, yselivanov, deleted0524, xgdomingo
2017-09-07 03:43:54ncoghlansetmessageid: <1504755834.79.0.927947159737.issue29988@psf.upfronthosting.co.za>
2017-09-07 03:43:54ncoghlanlinkissue29988 messages
2017-09-07 03:43:54ncoghlancreate