summaryrefslogtreecommitdiff
path: root/include/ruby/encoding.h
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2024-11-05 04:54:06 +0900
committerKoichi Sasada <ko1@atdot.net>2024-11-08 18:02:46 +0900
commitaa63699d10e489bc6d9c13406fc47f581001568b (patch)
treec01cefb86da657d39e3a8f50771cb84827d5b003 /include/ruby/encoding.h
parent075a102c937969c62a6798b32b3c3188df91a075 (diff)
support `require` in non-main Ractors
Many libraries should be loaded on the main ractor because of setting constants with unshareable objects and so on. This patch allows to call `requore` on non-main Ractors by asking the main ractor to call `require` on it. The calling ractor waits for the result of `require` from the main ractor. If the `require` call failed with some reasons, an exception objects will be deliverred from the main ractor to the calling ractor if it is copy-able. Same on `require_relative` and `require` by `autoload`. Now `Ractor.new{pp obj}` works well (the first call of `pp` requires `pp` library implicitly). [Feature #20627]
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/11142
Diffstat (limited to 'include/ruby/encoding.h')
0 files changed, 0 insertions, 0 deletions