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

[async_wrap] fix fatal error during destroy() calls #9753

Merged
merged 3 commits into from
Dec 1, 2016

Commits on Dec 1, 2016

  1. async_wrap: mode constructor/destructor to .cc

    The constructor and destructor shouldn't have been placed in the -inl.h
    file from the beginning.
    
    PR-URL: nodejs#9753
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    trevnorris committed Dec 1, 2016
    Configuration menu
    Copy the full SHA
    517e3a6 View commit details
    Browse the repository at this point in the history
  2. async_wrap: make Initialize a static class member

    This is how it's done everywhere else in core. Make it follow suit.
    
    PR-URL: nodejs#9753
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    trevnorris committed Dec 1, 2016
    Configuration menu
    Copy the full SHA
    cf5f4b8 View commit details
    Browse the repository at this point in the history
  3. async_wrap: call destroy() callback in uv_idle_t

    Calling JS during GC is a no-no. So intead create a queue of all ids
    that need to have their destroy() callback called and call them later.
    
    Removed checking destroy() in test-async-wrap-uid because destroy() can
    be called after the 'exit' callback.
    
    Missing a reliable test to reproduce the issue that caused the
    FATAL_ERROR.
    
    PR-URL: nodejs#9753
    Fixes: nodejs#8216
    Fixes: nodejs#9465
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    trevnorris committed Dec 1, 2016
    Configuration menu
    Copy the full SHA
    b49b496 View commit details
    Browse the repository at this point in the history