<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/fiber, branch v3_2_11</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>merge revision(s) 08b3a45bc97c835b4677bf76dbce68fd51d81897: [Backport #21180]</title>
<updated>2025-03-13T05:27:06+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2025-03-13T04:28:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=774e3f0003ac53d604fb5dd080faf9cb41c21bcd'/>
<id>774e3f0003ac53d604fb5dd080faf9cb41c21bcd</id>
<content type='text'>
	Push a real iseq in rb_vm_push_frame_fname()

	Previously, vm_make_env_each() (used during proc
	creation and for the debug inspector C API) picked up the
	non-GC-allocated iseq that rb_vm_push_frame_fname() creates,
	which led to a SEGV when the GC tried to mark the non GC object.

	Put a real iseq imemo instead. Speed should be about the same since
	the old code also did a imemo allocation and a malloc allocation.

	Real iseq allows ironing out the special-casing of dummy frames in
	rb_execution_context_mark() and rb_execution_context_update(). A check
	is added to RubyVM::ISeq#eval, though, to stop attempts to run dummy
	iseqs.

	[Bug #21180]

	Co-authored-by: Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Push a real iseq in rb_vm_push_frame_fname()

	Previously, vm_make_env_each() (used during proc
	creation and for the debug inspector C API) picked up the
	non-GC-allocated iseq that rb_vm_push_frame_fname() creates,
	which led to a SEGV when the GC tried to mark the non GC object.

	Put a real iseq imemo instead. Speed should be about the same since
	the old code also did a imemo allocation and a malloc allocation.

	Real iseq allows ironing out the special-casing of dummy frames in
	rb_execution_context_mark() and rb_execution_context_update(). A check
	is added to RubyVM::ISeq#eval, though, to stop attempts to run dummy
	iseqs.

	[Bug #21180]

	Co-authored-by: Aaron Patterson &lt;tenderlove@ruby-lang.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) a8c2d5e7bee5fad0965baeb58d312ddc5932ec26: [Backport #20907]</title>
<updated>2024-11-30T05:31:31+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2024-11-30T05:31:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=87249cbddb5dbac16cb7f0fa33958a42389759cb'/>
<id>87249cbddb5dbac16cb7f0fa33958a42389759cb</id>
<content type='text'>
	Ensure fiber scheduler re-acquires mutex when interrupted from sleep. (#12158)

	[Bug #20907]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Ensure fiber scheduler re-acquires mutex when interrupted from sleep. (#12158)

	[Bug #20907]
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 5d1702e01a36e11b183fe29ce10780a9b1a41cf0: [Backport #20414]</title>
<updated>2024-07-06T02:16:44+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2024-07-06T02:16:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2f8f17e842666abb05ca522d6072c957fab0e12e'/>
<id>2f8f17e842666abb05ca522d6072c957fab0e12e</id>
<content type='text'>
	Enumerator should use a non-blocking fiber, change `rb_fiber_new` to be non-blocking by default. (#10481)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Enumerator should use a non-blocking fiber, change `rb_fiber_new` to be non-blocking by default. (#10481)
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 3eaae72855b23158e2148566bb8a7667bfb395cb:</title>
<updated>2023-11-19T13:01:21+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2023-11-19T13:01:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5e9948336e95ea8e5ff7f0554ae57be8d498af70'/>
<id>5e9948336e95ea8e5ff7f0554ae57be8d498af70</id>
<content type='text'>
	test/fiber/test_queue.rb: Make the stuck test fail. (#8791)

	test/fiber/test_queue.rb: Make the stuck tests fail.

	We observed the 2 tests in the `test/fiber/test_queue.rb` getting stuck
	in some GCC compilers in Ubuntu ppc64le focal/jammy, even when the timeout
	`queue.pop(timeout: 0.0001)` is set in the code.

	This commit is to make the tests fail rather than getting stuck.
	---
	 test/fiber/test_queue.rb | 20 ++++++++++++++++----
	 1 file changed, 16 insertions(+), 4 deletions(-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	test/fiber/test_queue.rb: Make the stuck test fail. (#8791)

	test/fiber/test_queue.rb: Make the stuck tests fail.

	We observed the 2 tests in the `test/fiber/test_queue.rb` getting stuck
	in some GCC compilers in Ubuntu ppc64le focal/jammy, even when the timeout
	`queue.pop(timeout: 0.0001)` is set in the code.

	This commit is to make the tests fail rather than getting stuck.
	---
	 test/fiber/test_queue.rb | 20 ++++++++++++++++----
	 1 file changed, 16 insertions(+), 4 deletions(-)
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 901b6d9c5025a30b3d7a5ed0a2c00baf9cfb061d: [Backport #19853]</title>
<updated>2023-09-24T05:16:10+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2023-09-24T05:16:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9cd28caa7cc3b0d987db7c1231fe101fb3b27399'/>
<id>9cd28caa7cc3b0d987db7c1231fe101fb3b27399</id>
<content type='text'>
	Validate the typed data before dereferencing the internal struct.
	 (#8315)

	---
	 process.c                  |  5 +++--
	 test/fiber/test_process.rb | 21 +++++++++++++++++++++
	 2 files changed, 24 insertions(+), 2 deletions(-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Validate the typed data before dereferencing the internal struct.
	 (#8315)

	---
	 process.c                  |  5 +++--
	 test/fiber/test_process.rb | 21 +++++++++++++++++++++
	 2 files changed, 24 insertions(+), 2 deletions(-)
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 0402193723647b8c4f57b1453fe2192ad2788d12: [Backport #19709]</title>
<updated>2023-07-22T04:08:16+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2023-07-22T04:08:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a3911b965f094f07080cf7adb22ee5e2e8555d86'/>
<id>a3911b965f094f07080cf7adb22ee5e2e8555d86</id>
<content type='text'>
	Fix `Thread#join(timeout)` when running inside the fiber scheduler.
	 (#7903)

	---
	 test/fiber/test_thread.rb | 22 ++++++++++++++++++++++
	 thread.c                  |  5 +++++
	 2 files changed, 27 insertions(+)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Fix `Thread#join(timeout)` when running inside the fiber scheduler.
	 (#7903)

	---
	 test/fiber/test_thread.rb | 22 ++++++++++++++++++++++
	 thread.c                  |  5 +++++
	 2 files changed, 27 insertions(+)
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 0b2613f44309bddae45562c9f3a14ed43e56959b: [Backport #19640]</title>
<updated>2023-07-22T04:03:22+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2023-07-22T04:03:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ea89527a76a84741463c304246db2dd3a5df845b'/>
<id>ea89527a76a84741463c304246db2dd3a5df845b</id>
<content type='text'>
	`rb_io_puts` should not write zero length strings. (#7806)

	---
	 io.c                  | 40 ++++++++++++++++++++++++----------------
	 test/fiber/test_io.rb | 28 ++++++++++++++++++++++++++++
	 2 files changed, 52 insertions(+), 16 deletions(-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	`rb_io_puts` should not write zero length strings. (#7806)

	---
	 io.c                  | 40 ++++++++++++++++++++++++----------------
	 test/fiber/test_io.rb | 28 ++++++++++++++++++++++++++++
	 2 files changed, 52 insertions(+), 16 deletions(-)
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 466aa8010fb49f9ec6c78ea1de4e8ca0965f4fdf: [Backport #19546]</title>
<updated>2023-07-16T07:44:22+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2023-07-16T07:44:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5ad2390b551f4a28ea3d4db78c21863489fdd681'/>
<id>5ad2390b551f4a28ea3d4db78c21863489fdd681</id>
<content type='text'>
	Fix incorrect usage of `rb_fiber_scheduler_io_(p)(read|write)`.
	 (#7593)

	---
	 io_buffer.c                  |  8 ++++----
	 scheduler.c                  | 48 ++++++++++++++++++++++----------------------
	 test/fiber/test_io_buffer.rb | 33 ++++++++++++++++++++++++++++++
	 3 files changed, 61 insertions(+), 28 deletions(-)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Fix incorrect usage of `rb_fiber_scheduler_io_(p)(read|write)`.
	 (#7593)

	---
	 io_buffer.c                  |  8 ++++----
	 scheduler.c                  | 48 ++++++++++++++++++++++----------------------
	 test/fiber/test_io_buffer.rb | 33 ++++++++++++++++++++++++++++++
	 3 files changed, 61 insertions(+), 28 deletions(-)
</pre>
</div>
</content>
</entry>
<entry>
<title>Ensure Fiber storage is only accessed from the Fiber it belongs to</title>
<updated>2022-12-20T18:32:23+00:00</updated>
<author>
<name>Benoit Daloze</name>
<email>eregontp@gmail.com</email>
</author>
<published>2022-12-20T17:21:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0efa36ac06a14a3e2e0aca395fee6530c790bdf1'/>
<id>0efa36ac06a14a3e2e0aca395fee6530c790bdf1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use an experimental warning for Fiber#storage=</title>
<updated>2022-12-20T18:32:23+00:00</updated>
<author>
<name>Benoit Daloze</name>
<email>eregontp@gmail.com</email>
</author>
<published>2022-12-20T17:10:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d557f17974384dde4ff2da021a1b38905a39bda2'/>
<id>d557f17974384dde4ff2da021a1b38905a39bda2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
