diff options
| author | John Hawthorn <john@hawthorn.email> | 2025-12-04 16:13:59 -0800 |
|---|---|---|
| committer | John Hawthorn <john@hawthorn.email> | 2025-12-08 11:48:20 -0800 |
| commit | 90a9b64238eca659df9d59d35f6cf59fa3851119 (patch) | |
| tree | 37c1dca4c59455db05819a51027b08dd7270ddb6 /test | |
| parent | e61b79b384307ae3358c13d015be3550db7c0b53 (diff) | |
Use rb_current_ec_noinline in ractor_{lock,unlock}
We're seeing an occasional crash on CI because this ends up inlined all
the way into ractor_wait_receive. On llvm (possibly other compilers) the
thread local address of ec ends up cached (not the value of ec, the
address ec is read from). So if we are migrated to another native
thread, that may be invalid.
Using rb_current_ec_noinline avoids this problems. It would be good to
adjust this code so that ec (or current ractor) is calculated once and
then passed through to both lock and unlock.
Diffstat (limited to 'test')
0 files changed, 0 insertions, 0 deletions
