ioquatix (Samuel Williams)
- Login: ioquatix
- Email: samuel@oriontransfer.net
- Registered on: 07/10/2011
- Last sign in: 04/05/2026
Issues
| open | closed | Total | |
|---|---|---|---|
| Assigned issues | 18 | 115 | 133 |
| Reported issues | 24 | 124 | 148 |
Projects
| Project | Roles | Registered on |
|---|---|---|
| Ruby | Committer | 09/19/2018 |
Activity
Today
-
05:13 AM Ruby Feature #21704: Expose rb_process_status_new to C extensions
- @akr
> Why Process::Status object is created in such situations?
Because `Process::Status` represents either "the result of waitpid" or "errno of waitpid" and is used to transfer this information until it's finally consumed by the end ...
03/25/2026
-
03:26 AM Ruby Bug #21964: Fiber stack acquire can expand unnecessarily
- It's worth noting that this is similar to how it's currently handled in `io.c`: https://github.com/ruby/ruby/blob/4eab86efde9c98e8f51caeb95a0cf25acd7958f6/io.c#L1077-L1085
03/24/2026
-
10:26 PM Ruby Bug #21964 (Closed): Fiber stack acquire can expand unnecessarily
- In several common scenarios, the fiber stack allocator can choose to expand the fiber stack pool even when there are unreachable (effectively dead) fibers.
For example, the following program will eventually crash if GC does not run in...
03/18/2026
-
10:51 PM Ruby Feature #21957 (Open): Introduce `Enumerable#close` to free internal resources.
- In some cases, `Enumerable` has substantial internal state (e.g. Fiber) related to enumeration. There is currently no way to clear up this state besides garbage collection, which means that we can accumulate considerable garbage before c...
03/17/2026
-
09:17 AM Ruby Bug #21955 (Closed): `Fiber#transfer`: machine stack not released when fiber terminates, causing `FiberError: can't set a guard page`
- When a fiber terminates (falls off the end of its block, or raises an unhandled exception) after being reached via `Fiber#transfer`, its machine stack is **not** returned to the fiber pool. The stack is only freed when the `Fiber` object...
03/12/2026
-
12:38 AM Ruby Feature #21700: `IO::Buffer.map`: offset argument is "broken" and needs to be made more useful
- I've been using `IO::Buffer.map` on macOS without issues. It's still early days but I wonder why it was failing for you.
https://github.com/socketry/async-utilization/blob/main/lib/async/utilization/observer.rb
03/10/2026
-
02:58 AM Ruby Bug #19017: Net::HTTP may block when attempting to reuse a persistent connection
- I personally think `eof?` being blocking is extremely confusing.
I use this shim: https://github.com/socketry/io-stream/blob/main/lib/io/stream/shim/readable.rb#L11 to avoid blocking.
I also mentioned the issue here: https://bugs.ruby-...
03/09/2026
-
02:33 AM Ruby Bug #21947: `Timeout.timeout` doesn't use `Timeout::ExitException` when Fiber scheduler is in use.
- See <https://github.com/ruby/timeout/pull/97> for a proposed fix.
-
02:27 AM Ruby Bug #21947 (Closed): `Timeout.timeout` doesn't use `Timeout::ExitException` when Fiber scheduler is in use.
- The following example executes successfully after 7 seconds instead of timing out after 2.
```ruby
require 'async'
require 'net/http'
start = Time.now
Sync do
Timeout.timeout 2 do
Net::HTTP.get(URI 'https://httpbin.org...
02/16/2026
-
06:46 AM Ruby Feature #18035: Introduce general model/semantic for immutability.
- Another example where immutability as a concept is useful - configurations that span across fibers and threads: https://github.com/ruby-i18n/i18n/issues/723
In general, it seems like immutability for `Fiber[]` values is a good idea.