• Jason Madden's avatar
    Checkpoint on making io watchers deterministic · 8eb62985
    Jason Madden authored
    By closing them when we're done, we can remove reliance on GC to clean
    up multiplexed watchers and solve problems for PyPy and Windows (and
    probably eventually simplify the handle cleanup we were doing.)
    
    This makes many more tests on PyPy pass on Darwin; down from a score
    of failures to about 4, but a baffling 4. test__os:TestOS_nb times
    out; investigation shows that both the read and write sides of the
    pipe are waiting on events, both are in libuv, and the write side
    should be writable, but it's not getting an event. Not clear why this
    is. I also see it with CPython 3.6, and I don't think I did before.
    8eb62985
watcher.py 25.3 KB