jhawthorn (John Hawthorn)
- Login: jhawthorn
- Registered on: 12/22/2016
- Last sign in: 10/12/2026
Issues
| open | closed | Total | |
|---|---|---|---|
| Assigned issues | 15 | 87 | 102 |
| Reported issues | 9 | 33 | 42 |
Projects
| Project | Roles | Registered on |
|---|---|---|
| Ruby | Committer | 11/25/2021 |
Activity
10/14/2026
-
11:41 PM Ruby Feature #22444 (Open): Ractor.new should use Ractor.shareable_proc semantics for the block
- #21557 introduced very well considered rules for `Ractor.shareable_proc`, where locals can be referenced so long as they are shareable and never reassigned. However `Ractor.new { ... }` continues to use a more restrictive rule that no lo...
-
07:08 PM Ruby Feature #22441 (Open): Add Ractor#alive?
- I propose adding `Ractor#alive?` as a non-blocking way to ask whether a Ractor has finished. This matches `Thread#alive?`/`Fiber#alive?`.
```
r = Ractor.new { Ractor.receive }
r.alive? #=> true
r << :done
r.join
r.alive? #=> fals... -
12:02 AM Ruby Revision 0adee861 (git): Prevent uninitialized classes from being allocated
-
12:02 AM Ruby Revision f6963df7 (git): Remove code checking for uninitialized class
10/13/2026
-
09:13 PM Ruby Bug #22434 (Open): "No live threads left. Deadlock?" when running system() or spawn in Ractors
- Non-main Ractors don't support `fork()`, but do support `system()` and `spawn()`. They can end up deadlocked inside the prefork method when trying to flush stdio.
```
$stdout = File.open(File::NULL, "w")
writer = Thread.new { loop {...
10/06/2026
-
11:00 PM Ruby Bug #19172: `ruby_thread_has_gvl_p` is innacurate sometimes -- document or change?
- Eregon (Benoit Daloze) wrote in #note-4:
> So now we have a public C API with known incorrect semantics when used in a signal handler, what should we do then?
This public API is not documented as async-signal-safe, so there is no issue ... -
12:24 AM Ruby Misc #22394: DevMeeting-2026-10-07
- * [Feature #22376] Undefine the allocator for `Class` (jhawthorn)
* Makes `Class.allocate` raise. Same as ex. `Proc.allocate`
* `Class` can't be subclassed, and I didn't find any legitimate uses in `gem-codesearch`. I don't think t...
10/02/2026
-
09:43 PM Ruby Revision d47f9727 (git): Fix write barrier in update_classvariable_cache
- (cherry picked from commit f0a71599b1f4afefddca73c7050a94973c5eefce)
10/01/2026
-
07:02 PM Ruby Revision f980c947 (git): Fix reuse of MatchData assigned to $~
- $~ = m = /a/.match("a").dup
/b/ =~ "b"
p m
[Bug #22381]
(cherry picked from commit ea3cd7efe1f6bab78572b31774462e891ef01243)
09/25/2026
-
06:53 PM Ruby Bug #22381 (Closed): MatchData assigned to $~ is incorrectly reused
- Applied in changeset commit:git|ea3cd7efe1f6bab78572b31774462e891ef01243.
----------
Fix reuse of MatchData assigned to $~
$~ = m = /a/.match("a").dup
/b/ =~ "b"
p m
[Bug #22381]