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

Fix premature GC issues in several constructors. #51

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Commits on Sep 24, 2017

  1. Fix premature GC issues in several constructors.

    Several constructors would store pointers to newly allocated ruby objects inside an unwrapped C struct on the heap.
    This, coupled with optimizing compilers, made it possible that these objects were not visible to the GC in the mark phase and prematurely collected, resulting in dangling pointers, crashes due to segfaults, etc.
    
    These changes aim to make sure that the objects will be always visible to the GC, by storing pointers to them in local variables protected by RB_GC_GUARD.
    Jakub Zakrzewski committed Sep 24, 2017
    Configuration menu
    Copy the full SHA
    556d6a5 View commit details
    Browse the repository at this point in the history