diff options
author | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2023-03-07 20:23:00 +1300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-07 20:23:00 +1300 |
commit | 2c4b2053ca1884f058982fd46f2576bd887920b6 (patch) | |
tree | 7cd7c73225bd1b7345bd5497e2a392b852cbc9fb /rjit.c | |
parent | 011c08b643757b2369f28fcae190ad1e98623789 (diff) |
Correctly clean up `keeping_mutexes` before resuming any other threads. (#7460)
It's possible (but very rare) to have a race condition between setting
`mutex->fiber = NULL` and `thread_mutex_remove(th, mutex)` which results
in the following bug:
```
[BUG] invalid keeping_mutexes: Attempt to unlock a mutex which is not locked
```
Fixes <https://bugs.ruby-lang.org/issues/19480>.
Notes
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
Diffstat (limited to 'rjit.c')
0 files changed, 0 insertions, 0 deletions