aboutsummaryrefslogtreecommitdiffstats
path: root/spec/ruby/core/fiber
Commit message (Collapse)AuthorAgeFilesLines
* `Fiber#raise` recursively raises on nested resuming_fiber. (#10482)Samuel Williams2024-04-171-0/+34
| | | * Improve consistency of `Fiber.current.raise`.
* Update to ruby/spec@96d1072Benoit Daloze2023-09-041-29/+63
|
* Fix support for dynamic keys. (#8273)Samuel Williams2023-08-241-0/+14
| | | * Skip RBS test.
* Update to ruby/spec@30e1c35Benoit Daloze2023-06-264-73/+46
|
* Add Fiber#kill, similar to Thread#kill. (#7823)Samuel Williams2023-05-181-0/+90
|
* Update to ruby/spec@7f69c86Benoit Daloze2023-04-251-0/+38
|
* Assigning `nil` to fiber storage deletes the association. (#7378)Samuel Williams2023-02-251-6/+13
| | | Also avoid allocations when looking up `Fiber#storage` if not needed.
* Ensure Fiber storage is only accessed from the Fiber it belongs toBenoit Daloze2022-12-201-13/+13
|
* Never use the storage of another Fiber, that violates the whole designBenoit Daloze2022-12-201-8/+0
| | | | * See https://bugs.ruby-lang.org/issues/19078#note-30
* Add spec for fiber storage. (#6896)Samuel Williams2022-12-101-0/+111
|
* Update to ruby/spec@740ccc8Benoit Daloze2022-11-071-2/+2
|
* Introduce `Fiber.blocking{}` for bypassing the fiber scheduler. (#6498)Samuel Williams2022-10-061-0/+17
|
* Update to ruby/spec@3affe1eBenoit Daloze2022-04-251-75/+73
|
* Update to ruby/spec@21a48d9Benoit Daloze2021-10-282-0/+103
|
* Update to ruby/spec@a0b7d0dBenoit Daloze2021-06-021-0/+20
|
* Let Fiber#raise work with transferring fibersnicholas a. evans2020-12-121-0/+25
| | | | | | This automatically choosess whether to use transfer on a transferring fiber or resume on a yielding fiber. If the fiber is resuming, it raises a FiberError.
* Update to ruby/spec@b0b7f53Benoit Daloze2020-11-132-0/+88
|
* relax Fiber#transfer's restrictionKoichi Sasada2020-10-121-3/+34
| | | | | | | | | | | | | | | | | | | | | | | | | Using Fiber#transfer with Fiber#resume for a same Fiber is limited (once Fiber#transfer is called for a fiber, the fiber can not be resumed more). This restriction was introduced to protect the resume/yield chain, but we realized that it is too much to protect the chain. Instead of the current restriction, we introduce some other protections. (1) can not transfer to the resuming fiber. (2) can not transfer to the yielding fiber. (3) can not resume transferred fiber. (4) can not yield from not-resumed fiber. [Bug #17221] Also at the end of a transferred fiber, it had continued on root fiber. However, if the root fiber resumed a fiber (and that fiber can resumed another fiber), this behavior also breaks the resume/yield chain. So at the end of a transferred fiber, switch to the edge of resume chain from root fiber. For example, root fiber resumed f1 and f1 resumed f2, transferred to f3 and f3 terminated, then continue from the fiber f2 (it was continued from root fiber without this patch).
* Update to ruby/spec@875a09eBenoit Daloze2019-07-272-2/+2
|
* Update to ruby/spec@7de852dBenoit Daloze2019-04-283-119/+104
|
* Update to ruby/spec@15c9619Benoit Daloze2019-04-271-1/+1
|
* Update to ruby/spec@c1b568beregon2018-03-043-4/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Update to ruby/spec@83063a3eregon2018-01-291-0/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Move spec/rubyspec to spec/ruby for consistencyeregon2017-09-203-0/+146
* Other ruby implementations use the spec/ruby directory. [Misc #13792] [ruby-core:82287] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e