[ruby-cvs:71536] normal:r64444 (trunk): thread.c (sleep_*): reduce the effect of spurious interrupts

normal at ruby-lang.org normal at ruby-lang.org
Sat Aug 18 18:07:36 JST 2018


normal	2018-08-18 18:07:36 +0900 (Sat, 18 Aug 2018)

  New Revision: 64444

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

  Log:
    thread.c (sleep_*): reduce the effect of spurious interrupts
    
    Spurious interrupts from SIGCHLD cause Mutex#sleep (via
    ConditionVariable#wait) to return early and breaks some use
    cases.  Since these are outside the programs's control with
    MJIT, we will only consider pending interrupts (e.g. those
    from Thread#run) and signals which cause a Ruby-level Signal.trap
    handler to fire as "spurious" wakeups.
    
    [ruby-core:88537] [Feature #15002]

  Modified files:
    trunk/signal.c
    trunk/thread.c
    trunk/vm_core.h


More information about the ruby-cvs mailing list