<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/io.c, branch v3_3_11</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Revert "merge revision(s) 190b017fc6c21ff7b61c2b5ece0294785e4a4ca2: [Backport #21703]"</title>
<updated>2026-03-24T06:39:44+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2026-03-24T06:39:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fecabc31458dc5ec6880550ee094476ce0f8044c'/>
<id>fecabc31458dc5ec6880550ee094476ce0f8044c</id>
<content type='text'>
This reverts commit 83637aea6ea726f7fc4c17e56ac60c289e2d98db.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 83637aea6ea726f7fc4c17e56ac60c289e2d98db.
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 190b017fc6c21ff7b61c2b5ece0294785e4a4ca2: [Backport #21703]</title>
<updated>2026-03-24T05:49:12+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2026-03-24T05:13:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=83637aea6ea726f7fc4c17e56ac60c289e2d98db'/>
<id>83637aea6ea726f7fc4c17e56ac60c289e2d98db</id>
<content type='text'>
	[PATCH] Don't use non blocking pipes for RUBY_CRASH_REPORT

	[Bug #21703]

	RUBY_CRASH_REPORT does not work in some cases when shelling out on Linux.
	For example, given the following shell script dump.sh:

	    #!/usr/bin/env bash
	    cat &gt; /tmp/crash

	And we see it fails like this:

	    $ RUBY_CRASH_REPORT="|dump.sh" ruby -rfiddle -e "Fiddle::Pointer.new(1, 10)[0]"
	    cat: -: Resource temporarily unavailable
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] Don't use non blocking pipes for RUBY_CRASH_REPORT

	[Bug #21703]

	RUBY_CRASH_REPORT does not work in some cases when shelling out on Linux.
	For example, given the following shell script dump.sh:

	    #!/usr/bin/env bash
	    cat &gt; /tmp/crash

	And we see it fails like this:

	    $ RUBY_CRASH_REPORT="|dump.sh" ruby -rfiddle -e "Fiddle::Pointer.new(1, 10)[0]"
	    cat: -: Resource temporarily unavailable
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 12350eb9e0d3317da57b5a37c0c2810946b48850: [Backport #21625]</title>
<updated>2025-11-02T04:28:40+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2025-11-02T04:28:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=30f661951bb19f69cf55388c76ecaf7b0be41079'/>
<id>30f661951bb19f69cf55388c76ecaf7b0be41079</id>
<content type='text'>
	[PATCH] [Bug #21625] Allow io/wait methods with `IO#ungetc` in text mode
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] [Bug #21625] Allow io/wait methods with `IO#ungetc` in text mode
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 5f77f9bea61fb4cc8447a76e191fdfb28f076862: [Backport #21195]</title>
<updated>2025-03-30T03:11:59+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2025-03-30T03:11:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=51dee044c1cb079a463118c5113ae9fdf96e463e'/>
<id>51dee044c1cb079a463118c5113ae9fdf96e463e</id>
<content type='text'>
	Fix handling of `error`/`errno` in `io_internal_wait`. (#12961)

	[Bug #21195]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Fix handling of `error`/`errno` in `io_internal_wait`. (#12961)

	[Bug #21195]
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) f423f6e10c0c226dfed98e7cb7a5d489191dfa35: [Backport #21131]</title>
<updated>2025-03-16T11:35:27+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2025-03-16T11:10:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f85e5e01bafeca387e833b9d79cab43a8b22aa3d'/>
<id>f85e5e01bafeca387e833b9d79cab43a8b22aa3d</id>
<content type='text'>
	Ensure IO.copy_stream buffer is an independent string

	Otherwise, changes to the buffer by the destination write method
	could result in data changing for supposedly independent strings.

	Fixes [Bug #21131]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Ensure IO.copy_stream buffer is an independent string

	Otherwise, changes to the buffer by the destination write method
	could result in data changing for supposedly independent strings.

	Fixes [Bug #21131]
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 8034e9c3d001ca3dff124ab42972684eac8af2ae: [Backport #20995]</title>
<updated>2025-01-15T01:59:12+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-01-15T01:59:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=12a0807965624a0be37dc79371a69b5d787cc8d1'/>
<id>12a0807965624a0be37dc79371a69b5d787cc8d1</id>
<content type='text'>
	[Bug #20995] Protect `IO.popen` block from exiting by exception
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[Bug #20995] Protect `IO.popen` block from exiting by exception
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) e90b447655dd39ad1eb645cdaae450efd605db00: [Backport #20924]</title>
<updated>2025-01-15T01:53:38+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-01-15T01:53:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=00147cbab567b05b8a4137875bbda341ef704760'/>
<id>00147cbab567b05b8a4137875bbda341ef704760</id>
<content type='text'>
	[Bug #20924] Fix reading with delimiter in wide character encodings
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[Bug #20924] Fix reading with delimiter in wide character encodings
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 773d140f65c1c8b726e107915bc003c186f38677: [Backport #20787]</title>
<updated>2025-01-15T01:38:34+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-01-15T01:38:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=233014639793cb6c8650a9b17d37bc09c662d430'/>
<id>233014639793cb6c8650a9b17d37bc09c662d430</id>
<content type='text'>
	[Bug #20787] Check the separator in `IO#readline` as well as 3.2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[Bug #20787] Check the separator in `IO#readline` as well as 3.2
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 5e0c17145131e073814c7e5b15227d0b4e73cabe: [Backport #20169]</title>
<updated>2024-05-28T21:22:45+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2024-05-28T21:21:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b77b5c191513f5f281e72a51e6b2de29e2d2d7a6'/>
<id>b77b5c191513f5f281e72a51e6b2de29e2d2d7a6</id>
<content type='text'>
	Make io_fwrite safe for compaction

	[Bug #20169]

	Embedded strings are not safe for system calls without the GVL because
	compaction can cause pages to be locked causing the operation to fail
	with EFAULT. This commit changes io_fwrite to use rb_str_tmp_frozen_no_embed_acquire,
	which guarantees that the return string is not embedded.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Make io_fwrite safe for compaction

	[Bug #20169]

	Embedded strings are not safe for system calls without the GVL because
	compaction can cause pages to be locked causing the operation to fail
	with EFAULT. This commit changes io_fwrite to use rb_str_tmp_frozen_no_embed_acquire,
	which guarantees that the return string is not embedded.
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 2554c5d3b8738a248cedb2fea96dfab9fbe19417: [Backport #20231] (#9831)</title>
<updated>2024-02-05T08:41:56+00:00</updated>
<author>
<name>NARUSE, Yui</name>
<email>nurse@users.noreply.github.com</email>
</author>
<published>2024-02-05T08:41:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=288d84d827da6cb8a56ed614a9839a06488986c0'/>
<id>288d84d827da6cb8a56ed614a9839a06488986c0</id>
<content type='text'>
Don't wait in `io_binwrite_string` if not necessary. (#9792)

	---
	 io.c | 8 +++-----
	 1 file changed, 3 insertions(+), 5 deletions(-)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Don't wait in `io_binwrite_string` if not necessary. (#9792)

	---
	 io.c | 8 +++-----
	 1 file changed, 3 insertions(+), 5 deletions(-)</pre>
</div>
</content>
</entry>
</feed>
