Age | Commit message (Collapse) | Author |
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4338
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4173
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4173
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4173
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4173
|
|
* Rename `rb_scheduler` to `rb_fiber_scheduler`.
* Use public interface if available.
* Use `rb_check_funcall` where possible.
* Don't use `unblock` unless the fiber was non-blocking.
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3971
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3971
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3853
|
|
* Now that it works correctly.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3743
|
|
duration is nil.
Notes:
Merged: https://github.com/ruby/ruby/pull/3743
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3742
|
|
|
|
|
|
It's implementation is equivalent to:
Thread.current.scheduler unless Thread.current.blocking?
Notes:
Merged: https://github.com/ruby/ruby/pull/3610
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3612
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3612
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3605
|
|
|
|
|
|
|
|
* This shows block() with a timeout is similar to #kernel_sleep and also
does not need to change `@blocking`.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3558
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3557
|
|
* Previously this could lead to an invalid waiter entry and then trying
to wake up that waiter would result in various issues in rb_mutex_unlock_th().
|
|
* To still remove the lock from the Thread's list of acquired locks.
* Also to not wake up other waiters and preserve blocking behavior.
|
|
* It would hit "[BUG] unexpected THREAD_STOPPED" before.
|
|
|
|
Queue/SizedQueue operations
* scheduler.unblock was already already called before but with no corresponding scheduler.block
* add test that Queue#pop makes the scheduler wait until it gets an element.
|
|
* Move #kernel_sleep next to #block as it is similar
|
|
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3434
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3434
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3434
|
|
* Enables Mutex to be used as synchronization between multiple Fibers
of the same Thread.
* With a Fiber scheduler we can yield to another Fiber on contended
Mutex#lock instead of blocking the entire thread.
* This also makes the behavior of Mutex consistent across CRuby, JRuby and TruffleRuby.
* [Feature #16792]
Notes:
Merged: https://github.com/ruby/ruby/pull/3434
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3434
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3434
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3434
|
|
```
/home/chkbuild/chkbuild/tmp/build/20200818T033004Z/ruby/test/fiber/test_backtrace.rb:9:
warning: ambiguous first argument; put parentheses or a space even after
`/' operator
/home/chkbuild/chkbuild/tmp/build/20200818T033004Z/ruby/test/fiber/test_backtrace.rb:15:
warning: ambiguous first argument; put parentheses or a space even after
`/' operator
```
|
|
See <https://bugs.ruby-lang.org/issues/16815> for more details.
Notes:
Merged: https://github.com/ruby/ruby/pull/3422
|
|
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3323
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3323
|
|
The HTTP test hits a remote website which isn't always available and is
not self-contained. Ideally we will rewrite this test with an internal
web server.
Notes:
Merged: https://github.com/ruby/ruby/pull/3321
|
|
|
|
|
|
Kernel#sleep should still return seconds slept, even when using a
Thread.scheduler. The return value of Scheduler#wait_sleep can be
ignored.
Notes:
Merged: https://github.com/ruby/ruby/pull/3198
|