Hi,

I just merged Tulip into Trollius. I had some issue with the new
asyncio.subprocess module:

- subprocess of Python 2 has no DEVNULL constant
- Python 2 uses relative imports by default: I had to add "from
__future__ import absolute_import" to get subprocess and not
asyncio.subprocess
- Popen has no pass_fds parameter in Python 2
- I had a tricky issue with pipes and inheritance of file descriptor:
"stdin, stdin_w = self._loop._socketpair()" in unix_events.py  creates
an inheritable stdin_w file descriptor, so close it in the parent
process is not enough, it should also be close in the child process. I
have to set CLOEXEC flag on stdin_w... Tonight I really love my own
PEP 446.

When I backport new things from Tulip to Trollius, I realize how much
work has been done between Python 2.6 and 3.3 :-) Said differently: it
becomes hard for me to work on Python 2, it has so many bugs and
missing features :-)

http://www.python.org/dev/peps/pep-0446/

All unit test of Trollius pass on Linux with Python 2.7. I will have
to run them on Python 2.6, without ssl, on Windows, on FreeBSD,  etc.
Well, as usual.

So I'm almost ready for a new Trollius release too.

--

Trollius change log between version 0.1.4 and the development version:

- Merge with Tulip:

  * New asyncio.subprocess module
  * _UnixWritePipeTransport now also supports character devices, as
    _UnixReadPipeTransport. Patch written by Jonathan Slenders.
  * StreamReader.readexactly() now raises an IncompleteReadError if the
    end of stream is reached before we received enough bytes, instead of
    returning less bytes than requested.
  * poll and epoll selectors now round the timeout away from zero (instead of
    rounding towards zero) to fix a performance issue
  * asyncio.queue: Empty renamed to QueueEmpty, Full to QueueFull
  * _fatal_error() of _UnixWritePipeTransport and _ProactorBasePipeTransport
    don't log BrokenPipeError nor ConnectionResetError
  * Future.set_exception(exc) now instanciate exc if it is a class
  * streams.StreamReader: Use bytearray instead of deque of bytes for internal
    buffer

- Fix test_wait_for() unit test

Victor

Reply via email to