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

[v12.x] backport Buffer cleanup changes #31355

Closed
wants to merge 2 commits into from

Commits on Jan 14, 2020

  1. src: mark ArrayBuffers with free callbacks as untransferable

    More precisely, make them untransferable if they were created through
    *our* APIs, because those do not follow the improved free callback
    mechanism that V8 uses now. All other ArrayBuffers can be transferred
    between threads now, the assumption being that they were created in a
    clean way that follows the V8 API on this.
    
    This addresses a TODO comment.
    
    Refs: nodejs#30339 (comment)
    
    PR-URL: nodejs#30475
    Reviewed-By: Colin Ihrig <[email protected]>
    Reviewed-By: James M Snell <[email protected]>
    Reviewed-By: David Carlier <[email protected]>
    addaleax committed Jan 14, 2020
    Configuration menu
    Copy the full SHA
    288ae47 View commit details
    Browse the repository at this point in the history
  2. buffer: release buffers with free callbacks on env exit

    Invoke the free callback for a given `Buffer` if it was created
    with one, and mark the underlying `ArrayBuffer` as detached.
    
    This makes sure that the memory is released e.g. when addons inside
    Workers create such `Buffer`s.
    
    PR-URL: nodejs#30551
    Reviewed-By: Gabriel Schulhof <[email protected]>
    Reviewed-By: Colin Ihrig <[email protected]>
    Reviewed-By: Denys Otrishko <[email protected]>
    Reviewed-By: Michael Dawson <[email protected]>
    addaleax committed Jan 14, 2020
    Configuration menu
    Copy the full SHA
    16996ec View commit details
    Browse the repository at this point in the history