Actions
Bug #6699
closedrb_barrier_wait() gets blocked when running within a Thread.new { }
Description
In my Ruby C extension I use rb_barrier_wait(MY_BARRIER) in a method. It works perfectly but I've realized of a case in which it gets
blocked:
Thread.new do
MyExten.my_method
end
In this case the C function rb_barrier_wait(MY_BARRIER) gets blocked (note that I don't call if from other place). So this seems a conflict
of the new Thread and rb_barrier_wait(), it seems that they both try to access to the same shared resource. Is it the expected behavior?
Updated by kosaki (Motohiro KOSAKI) over 12 years ago
Please don't use rb_barrier_wait(). It doesn't have barrier semantics. Moreover, It is not a public API. We might remove it in future release.
Updated by ibc (Iñaki Baz Castillo) over 12 years ago
Thanks for the clarification.
Updated by kosaki (Motohiro KOSAKI) over 12 years ago
- Status changed from Open to Closed
Actions
Like0
Like0Like0Like0