[ruby-cvs:72565] normal:r65465 (trunk): thread_pthread.c (ubf_select): avoid deadlock on contention

normal at ruby-lang.org normal at ruby-lang.org
Wed Oct 31 11:31:15 JST 2018


normal	2018-10-31 11:31:15 +0900 (Wed, 31 Oct 2018)

  New Revision: 65465

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=65465

  Log:
    thread_pthread.c (ubf_select): avoid deadlock on contention
    
    vm->gvl.lock can be held by another thread, we must not wait
    on it when called by the MJIT worker thread when it migrates
    work to another thread.  ubf_select is designed to do retrying
    anyways, so it has no obligation to wake up a timer thread.
    
    cf.  http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/1437880

  Modified files:
    trunk/thread_pthread.c


More information about the ruby-cvs mailing list