diff options
author | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2020-09-15 14:19:54 +1200 |
---|---|---|
committer | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2020-09-15 22:53:08 +1200 |
commit | a9b2a96c5cfa5ab36c89ffae82e28eb733e36542 (patch) | |
tree | f74064a5819affdff30a9309910e69b41e7b8a5d /gc.c | |
parent | b2b855f486dd0b1b11baaea4943116a9d2d7e867 (diff) |
Fix incorrect initialization of `rb_io_t::self`.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/3542
Diffstat (limited to 'gc.c')
-rw-r--r-- | gc.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -5636,6 +5636,7 @@ gc_mark_children(rb_objspace_t *objspace, VALUE obj) case T_FILE: if (any->as.file.fptr) { + gc_mark(objspace, any->as.file.fptr->self); gc_mark(objspace, any->as.file.fptr->pathv); gc_mark(objspace, any->as.file.fptr->tied_io_for_writing); gc_mark(objspace, any->as.file.fptr->writeconv_asciicompat); @@ -8555,6 +8556,7 @@ gc_update_object_references(rb_objspace_t *objspace, VALUE obj) case T_FILE: if (any->as.file.fptr) { + UPDATE_IF_MOVED(objspace, any->as.file.fptr->self); UPDATE_IF_MOVED(objspace, any->as.file.fptr->pathv); UPDATE_IF_MOVED(objspace, any->as.file.fptr->tied_io_for_writing); UPDATE_IF_MOVED(objspace, any->as.file.fptr->writeconv_asciicompat); |