diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2020-02-28 23:58:33 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-28 23:58:33 -0800 |
commit | adcf0316d1ecedae2a9157ad941550e0c0fb510b (patch) | |
tree | b9fc854a840690799088e00677c62fc0beb96a96 /internal | |
parent | a8dcab723316997d9e01c89d6df969edce75bdca (diff) | |
download | ruby-adcf0316d1ecedae2a9157ad941550e0c0fb510b.tar.gz |
Prevent unloading methods used in root_fiber while calling another Fiber (#2939)
Fixing SEGVs like:
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2744905
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2744420
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2741400
Diffstat (limited to 'internal')
-rw-r--r-- | internal/cont.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/internal/cont.h b/internal/cont.h index 5aaf095142..f77fb20a5c 100644 --- a/internal/cont.h +++ b/internal/cont.h @@ -12,10 +12,12 @@ #include "ruby/ruby.h" /* for VALUE */ struct rb_thread_struct; /* in vm_core.h */ +struct rb_fiber_struct; /* in cont.c */ /* cont.c */ VALUE rb_obj_is_fiber(VALUE); void rb_fiber_reset_root_local_storage(struct rb_thread_struct *); void ruby_register_rollback_func_for_ensure(VALUE (*ensure_func)(VALUE), VALUE (*rollback_func)(VALUE)); +void rb_fiber_init_mjit_cont(struct rb_fiber_struct *fiber); #endif /* INTERNAL_CONT_H */ |