1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test
Koichi Sasada bf3b2a4374 relax Fiber#transfer's restriction
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).
2020-10-12 22:58:41 +09:00
..
-ext- Added get_real interface 2020-09-07 20:08:01 +09:00
base64
benchmark
bigdecimal
cgi
coverage
csv
date
dbm
did_you_mean
digest
drb
dtrace
erb Fixup 3292f4d965 2020-08-21 20:40:26 +09:00
etc
excludes
fiber Refined assertions for better failure messages 2020-10-01 13:48:15 +09:00
fiddle Workaroud for macOS Big Sur(11.0) 2020-09-08 20:39:23 +09:00
fileutils Make the test suite pass on real Android/Termux environment 2020-10-12 21:26:05 +09:00
gdbm
io [ruby/io-console] Fix timeout type error (#18) 2020-10-11 02:00:24 +09:00
irb Remove system method for E2E testing because depends on ruby command 2020-10-05 19:50:31 +09:00
json Remove unneeded begin and end 2020-09-30 15:55:07 +09:00
lib
logger
matrix
mkmf
monitor
net test/net/smtp/test_smtp.rb: Stop io leaks 2020-09-26 00:20:06 +09:00
nkf
objspace Fix ObjectSpace.dump(obj, output: :stdout) 2020-10-03 00:00:01 +09:00
open-uri Remove the deprecated override of Kernel#open in open-uri 2020-08-16 07:41:40 -07:00
openssl Revert the related commits about Tempfile.open change. 2020-09-09 21:10:48 +09:00
optparse
ostruct [lib/ostruct] Fix Marshal loading 2020-10-06 17:11:08 -04:00
pathname Make the test suite pass on real Android/Termux environment 2020-10-12 21:26:05 +09:00
psych [ruby/psych] Forward keyword arguments in load_file and load_stream 2020-09-25 13:11:33 +09:00
racc test/racc/test_racc_command.rb: prevent a warning 2020-09-29 11:58:04 +09:00
rdoc [ruby/rdoc] update all files if any file is newer 2020-09-18 14:57:58 +09:00
readline
reline [ruby/reline] Treat prompt correctly when Reline.prompt_proc isn't set 2020-09-12 08:35:52 +09:00
resolv
rinda
ripper Prohibit setter method names in all kinds of endless methods 2020-10-12 00:40:55 +09:00
ruby relax Fiber#transfer's restriction 2020-10-12 22:58:41 +09:00
rubygems [rubygems/rubygems] Add writable check for cache dir 2020-09-28 14:54:22 +09:00
socket Add resolve_timeout to TCPSocket [Feature #17134] 2020-09-25 15:19:14 +09:00
stringio [stringio] fix stringio codepoint enumerator off by one error 2020-08-27 23:41:22 +09:00
strscan
syslog
uri
webrick Revert "[ruby/webrick] Add test for shutdown_pipe" 2020-09-25 07:54:01 +09:00
win32ole
yaml
zlib [ruby/zlib] Add Zlib::GzipReader.zcat for handling multiple gzip streams in gz file 2020-09-14 17:52:20 +09:00
runner.rb
test_abbrev.rb
test_delegate.rb
test_extlibs.rb
test_find.rb
test_forwardable.rb
test_ipaddr.rb
test_mutex_m.rb
test_observer.rb
test_open3.rb
test_pp.rb
test_prettyprint.rb
test_prime.rb
test_pstore.rb
test_pty.rb
test_rbconfig.rb
test_securerandom.rb Use build_message on test_securerandom.rb (#3543) 2020-09-16 07:45:01 +09:00
test_set.rb
test_shellwords.rb
test_singleton.rb
test_syslog.rb
test_tempfile.rb
test_time.rb
test_timeout.rb
test_tmpdir.rb [ruby/tmpdir] Warn when environment variables skipped (fixes #2) 2020-09-14 18:22:37 +09:00
test_tracer.rb
test_tsort.rb
test_unicode_normalize.rb
test_weakref.rb
test_win32api.rb