<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/internal/io.h, branch v4.0.2</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[DOC] Fix typos</title>
<updated>2025-10-13T19:21:36+00:00</updated>
<author>
<name>Étienne Barrié</name>
<email>etienne.barrie@gmail.com</email>
</author>
<published>2025-10-13T14:33:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=79b268567512cdb802488107be1dcf843f371076'/>
<id>79b268567512cdb802488107be1dcf843f371076</id>
<content type='text'>
Inspired by 42ba82424d908c290a4a34ced8853f0a403b734b, I looked for other
occurrences of "the the".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Inspired by 42ba82424d908c290a4a34ced8853f0a403b734b, I looked for other
occurrences of "the the".
</pre>
</div>
</content>
</entry>
<entry>
<title>`rb_io_blocking_operation_exit` should not execute with pending interrupts.</title>
<updated>2025-06-06T04:13:16+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2025-05-24T11:33:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=81a23c5793fecaff5f75cefe6a6e03dab99df16b'/>
<id>81a23c5793fecaff5f75cefe6a6e03dab99df16b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Ensure that forked process do not see invalid blocking operations. (#13343)</title>
<updated>2025-05-15T06:50:15+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2025-05-15T06:50:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=87261c2d95f93f8738557cfb6f93ed14f1b483dd'/>
<id>87261c2d95f93f8738557cfb6f93ed14f1b483dd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make `waiting_fd` behaviour per-IO. (#13127)</title>
<updated>2025-05-13T10:02:03+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2025-05-13T10:02:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=425fa0aeb5ced20c03b2d5edb7a409666363ea8f'/>
<id>425fa0aeb5ced20c03b2d5edb7a409666363ea8f</id>
<content type='text'>
- `rb_thread_fd_close` is deprecated and now a no-op.
- IO operations (including close) no longer take a vm-wide lock.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- `rb_thread_fd_close` is deprecated and now a no-op.
- IO operations (including close) no longer take a vm-wide lock.</pre>
</div>
</content>
</entry>
<entry>
<title>Tidy up `rb_io_fptr_finalize`. (#13136)</title>
<updated>2025-04-19T10:16:54+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2025-04-19T10:16:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d6d4e6877c9670b871ba44b9ca8bece033d17f22'/>
<id>d6d4e6877c9670b871ba44b9ca8bece033d17f22</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Ensure `struct rb_io` is passed through to `thread.c`. (#13134)</title>
<updated>2025-04-19T00:55:16+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2025-04-19T00:55:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=20a1c1dc6be9349521592fc21b17de3eb9f84051'/>
<id>20a1c1dc6be9349521592fc21b17de3eb9f84051</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce `enum rb_io_mode`. (#7894)</title>
<updated>2025-04-16T07:50:37+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2025-04-16T07:50:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8d21f666b8098545a366c46f1990edf2a9f4ffcb'/>
<id>8d21f666b8098545a366c46f1990edf2a9f4ffcb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce `Fiber::Scheduler#blocking_operation_wait`. (#12016)</title>
<updated>2024-11-20T06:40:17+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2024-11-20T06:40:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9c268302bfb4890d3757caa60981802a88bfbd89'/>
<id>9c268302bfb4890d3757caa60981802a88bfbd89</id>
<content type='text'>
Redirect `rb_nogvl` blocking operations to the fiber scheduler if possible
to prevent stalling the event loop.

[Feature #20876]</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Redirect `rb_nogvl` blocking operations to the fiber scheduler if possible
to prevent stalling the event loop.

[Feature #20876]</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce `rb_io_blocking_region` which takes `struct rb_io` argument. (#11795)</title>
<updated>2024-10-05T02:10:12+00:00</updated>
<author>
<name>Samuel Williams</name>
<email>samuel.williams@oriontransfer.co.nz</email>
</author>
<published>2024-10-05T02:10:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c50298d7d4f8797963490f5679b1c481b89d4955'/>
<id>c50298d7d4f8797963490f5679b1c481b89d4955</id>
<content type='text'>
This does not change any actual behaviour, but provides a choke point for blocking IO operations.

* Update `IO::Buffer` to use `rb_io_blocking_region`.

* Update `File` to use `rb_io_blocking_region`.

* Update `IO` to use `rb_io_blocking_region`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This does not change any actual behaviour, but provides a choke point for blocking IO operations.

* Update `IO::Buffer` to use `rb_io_blocking_region`.

* Update `File` to use `rb_io_blocking_region`.

* Update `IO` to use `rb_io_blocking_region`.</pre>
</div>
</content>
</entry>
<entry>
<title>Define `IO_WITHOUT_GVL` macro</title>
<updated>2024-01-24T11:51:50+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-01-24T11:51:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d86c4e553ee8ff899a103a49db0b66c73c01135f'/>
<id>d86c4e553ee8ff899a103a49db0b66c73c01135f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
