General

Profile

byroot (Jean Boussier)

Issues

open closed Total
Assigned issues 0 27 27
Reported issues 28 126 154

Projects

Project Roles Registered on
Ruby Committer 09/27/2021

Activity

01/06/2026

06:36 PM Ruby Bug #21803: `Addrinfo#connect_internal` should raise `IO::TimeoutError` on user-specified timeouts
For what it's worth, changing the exception class is a breaking change (unless IO::TimeoutError is made to inherit from `Errno::ETIMEDOUT`, but it already inherits from `IOError`).
For instance https://github.com/redis-rb/redis-client...
byroot (Jean Boussier)

01/03/2026

03:53 PM Ruby Bug #21818: Thread backtraces cannot be communicated over Ractor ports
I have another PR that allow Backtrace objects to be duped, hence to send them across Ractors: https://github.com/ruby/ruby/pull/15795 byroot (Jean Boussier)
11:25 AM Ruby Bug #21818: Thread backtraces cannot be communicated over Ractor ports
> I'm not sure if there is a way to allow an object to be copied without defining an allocator function.
So I experimented with this a bit. It wouldn't be hard at all to disable `Class#allocate` while still allowing `rb_obj_dup` etc t...
byroot (Jean Boussier)
10:28 AM Ruby Bug #21818: Thread backtraces cannot be communicated over Ractor ports
> https://github.com/ruby/ruby/pull/15790 fixes the make_shareable.
Actually, might be more tricky than that. `Backtrace` object have two lazily instantiated mutable arrays (`backtrace` and `backtrace_locations`). So if we mark them ...
byroot (Jean Boussier)
10:10 AM Ruby Feature #21821: Add Stack and SizedStack classes
> I think it will depend on what you achieve with Stack.
Yes, the point is to use it in cases where synchronization is needed, hence Array is not suitable. Typically connection pools: https://github.com/mperham/connection_pool/blob/8b...
byroot (Jean Boussier)
09:12 AM Ruby Feature #21821 (Open): Add Stack and SizedStack classes
### Context
`Queue` and `SizedQueue` are very useful and performant constructs, however they only allow for FIFO queues.
Some use cases do call for LIFO queues AKA stacks.
For instance, in the case of connection pool, it's often p...
byroot (Jean Boussier)
09:22 AM Ruby Misc #21777: DevMeeting-2026-01-14
* [Feature #21800] `Dir.foreach` and `Dir.each_child` to optionally yield `File::Stat` object alongside the children name (byroot)
* It's common for development tools to need to recursively scan the file system, but it's slower than i...
byroot (Jean Boussier)
09:06 AM Ruby Feature #21788: Promote Thread::Monitor to a core class
> the point is MonitorMixin seems well done and core-worthy.
Yeah, I don't think I agree with this. I never use it because including it expose a bunch of `mon_*` public methods that nobody ever use.
At the end of the day 99% of Monit...
byroot (Jean Boussier)

01/02/2026

11:07 PM Ruby Revision 16feb46f (git): Convert Queue and SizedQueue to rb builtin
A large part of `thread_sync.c` was migrated already, might as well
go all the way. It also allow to remove a bunch of Rdoc commands.
byroot (Jean Boussier)
09:58 PM Ruby Bug #21818: Thread backtraces cannot be communicated over Ractor ports
https://github.com/ruby/ruby/pull/15790 fixes the `make_shareable`. As for sending, I'm not sure if there is a way to allow an object to be copied without defining an allocator function. byroot (Jean Boussier)

Also available in: Atom