Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[v13.x backport] stream: pipeline should only destroy un-finished streams. #32980

Closed

Commits on Apr 23, 2020

  1. stream: pipeline should only destroy un-finished streams

    This PR logically reverts nodejs#31940 which
    has caused lots of unnecessary breakage in the ecosystem.
    
    This PR also aligns better with the actual documented behavior:
    
    `stream.pipeline()` will call `stream.destroy(err)` on all streams except:
      * `Readable` streams which have emitted `'end'` or `'close'`.
      * `Writable` streams which have emitted `'finish'` or `'close'`.
    
    The behavior introduced in nodejs#31940
    was much more aggressive in terms of destroying streams. This was
    good for avoiding potential resources leaks however breaks some
    common assumputions in legacy streams.
    
    Furthermore, it makes the code simpler and removes some hacks.
    
    Fixes: nodejs#32954
    Fixes: nodejs#32955
    
    PR-URL: nodejs#32968
    Reviewed-By: Matteo Collina <[email protected]>
    Reviewed-By: Mathias Buus <[email protected]>
    Backport-PR-URL: nodejs#32980
    ronag committed Apr 23, 2020
    Configuration menu
    Copy the full SHA
    9e7f255 View commit details
    Browse the repository at this point in the history
  2. fixup

    ronag committed Apr 23, 2020
    Configuration menu
    Copy the full SHA
    3f5f8cc View commit details
    Browse the repository at this point in the history