summaryrefslogtreecommitdiff
path: root/process.c
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2020-10-31 00:40:04 +0900
committerKoichi Sasada <ko1@atdot.net>2020-10-31 01:48:00 +0900
commitfd089276999393a6f6bb2a0b614ac76ca6151ab2 (patch)
tree711b652e7051adc7ab23e150ce65cb0d8f4e2439 /process.c
parent66bf743b9309b479b6d5389e315ca54ea73aafae (diff)
Ractor's "will" doesn't need copying.
`r = Ractor.new{ expr }` generates the block return value from `expr` and we can get this value by `r.take`. Ractor.yield and Ractor#take passing values by copying on default. However, the block return value (we named it "will" in the code) is not referred from the Ractor because the Ractor is already dead. So we can pass the reference of "will" to another ractor without copying. We can apply same story for the propagated exception.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/3724
Diffstat (limited to 'process.c')
0 files changed, 0 insertions, 0 deletions