Message215496
Quick update before I head to bed.
Thank you for the input, I had gotten the individual async calls working a couple days ago, and I was just working to replace the communicate() method for Windows.
Yes, I'm using asyncio._overlapped, though asyncio uses subprocessing, so I needed to defer import of _overlapped until one of a couple crucial methods were being called in order to prevent issues relating to circular imports.
I also ended up moving asyncio.windows_utils.pipe out to subprocess, as copying/pasting it for a third 'create an overlapped-io pipe' implementation for the standard library just doesn't make a lot of sense, and another circular import seemed like a bad idea. If/when subprocess goes away completely, someone else can move the function back.
With overlapped IOs able to be cancelled, it's not all that bad to make a completely re-entrant communicate() without threads, though I made a few mistakes in my first pass tonight that I need to fix tomorrow. |
|
Date |
User |
Action |
Args |
2014-04-04 07:01:57 | josiahcarlson | set | recipients:
+ josiahcarlson, astrand, parameter, techtonik, giampaolo.rodola, ajaksu2, ooooooooo, v+python, r.david.murray, cvrebert, ericpruitt, Andrew.Boettcher, rosslagerwall, sbt, janzert, eryksun |
2014-04-04 07:01:56 | josiahcarlson | set | messageid: <1396594916.93.0.389885499049.issue1191964@psf.upfronthosting.co.za> |
2014-04-04 07:01:56 | josiahcarlson | link | issue1191964 messages |
2014-04-04 07:01:56 | josiahcarlson | create | |
|