ruby-concurrency / concurrent-ruby

Modern concurrency tools including agents, futures, promises, thread pools, supervisors, and more. Inspired by Erlang, Clojure, Scala, Go, Java, JavaScript, and classic concurrency patterns.
https://ruby-concurrency.github.io/concurrent-ruby/
Other
5.71k stars 420 forks source link

Loop around ConditionVariable#wait in ReentrantReadWriteLock #1017

Closed eregon closed 11 months ago

eregon commented 11 months ago

Related: https://github.com/ruby-concurrency/concurrent-ruby/issues/1015

Unfortunately, this fails spec/concurrent/atomic/reentrant_read_write_lock_spec.rb. I'm not sure why, help to investigate appreciated.

eregon commented 11 months ago

OK the comments in the file around these ns_wait if explain why it's safe and should remain that way, so it's safe to not change this.