From ded00d25c91eec4ca3753876fbe5cc39e9b30bdb Mon Sep 17 00:00:00 2001 From: David Wilson Date: Sun, 28 Jul 2019 16:29:05 +0100 Subject: [PATCH] docs: more stream-refactor work --- docs/changelog.rst | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index a7b7ec47..9773ff04 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -25,8 +25,8 @@ Enhancements ^^^^^^^^^^^^ * `#587 `_: partial support for - Ansible 2.8 is now available. This implementation does not yet support the - new `become plugins + Ansible 2.8 is available. This implementation does not yet support the new + `become plugins `_ functionality, which will be addressed in a future release. @@ -70,7 +70,7 @@ Core Library *"Stream(ssh:123).connect()"* could become *"connecting to ssh:123"*. * :func:`bytearray` was removed from the list of supported serialization types. - It has never been portable, and does not appear to have been used. + It has never been portable, and does not appear to have been used. * `#170 `_: to better support child process management and a future asynchronous connect implementation, a @@ -78,10 +78,11 @@ Core Library * `#419 `_: the internal :class:`mitogen.core.Stream` has been refactored into 7 new classes, - separating out protocol behaviour logic, output buffering, line-oriented - input parsing, options handling, and connection management. The new - connection management implementation is internally asynchronous, laying - almost all the groundwork needed for fully asynchronous connect. + modularizing protocol behaviour, output buffering, line-oriented input + parsing, options handling and connection management. Connection setup is + internally asynchronous, laying almost all the groundwork needed for fully + asynchronous connect, proxied Ansible become plug-ins, and integrating + `libssh `_. * `#419 `_: zombie process reaping has vastly improved, by using the timer API to efficiently poll for a slow @@ -89,7 +90,7 @@ Core Library `SIGCHLD` handler, or rely on the process-global 'signal file descriptor' functionality only available in newer Python releases. -* `#419 `_: almost all uses of +* `#419 `_: most uses of :func:`os.dup` have been removed, along with almost all cases of manual file descriptor management. Descriptors are trapped in :func:`os.fdopen` objects as soon as they are opened, ensuring a leaked object will close itself, and @@ -97,6 +98,11 @@ Core Library bugs where a double close could destroy descriptors belonging to an unrelated stream. +* `a5536c35 `_: avoid quadratic + buffer management when logging lines received from a child's redirected + standard IO. + + Thanks!