[ruby-core:88533] Re: [Ruby trunk Bug#14999] ConditionVariable doesn't reacquire the Mutex if Thread#kill-ed

From: Eric Wong <normalperson@...>
Date: 2018-08-18 04:35:26 UTC
List: ruby-core #88533
Eric Wong wrote:
> [email protected] wrote:
> > @normalperson I added the specs in r64409.
> > However I just saw that the spec failed once on Ubuntu:
> > https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu/ruby-trunk/log/20180817T213003Z.fail.html.gz
> 
> It might be because of rb_funcallv switching and hitting
> interrupts.  I think this should fix it, but it can make
> an incompatibility if somebody relies on redefining
> Mutex#sleep...

Committed a version which only avoids switching on r64436
We'll see if CI alerts are quieter, now.

However, I don't know what to do about Mutex_m since that still
hits the funcall path.  We can't blindly mask out interrupts
because we need Mutex#sleep to react to Thread#run.

Also, please don't add similar specs for Mutex_m, yet.


Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread