Applied in changeset commit:git|f609897fa4478f6116e6d30009e956c79ff7a186. ---------- Add Ractor#alive? Matches Thread#alive? and Fiber#alive?. Returns false once the ractor's result has been recorded. Reads sync.legacy under the ractor...jhawthorn (John Hawthorn)
Matches Thread#alive? and Fiber#alive?. Returns false once the ractor's result has been recorded. Reads sync.legacy under the ractor lock, as Ractor#monitor does, so it cannot race with termination. [Feature #22441]jhawthorn (John Hawthorn)
Defining a method in a refinement makes rb_method_entry_make (VM lock held) add an entry to the refined class by calling rb_add_method. rb_add_method must be called without the VM lock: it asserts that, and emits warnings, which can run ...jhawthorn (John Hawthorn)
I found one awkward issue with this: `dirent.d_type` doesn't necessarily agree with `stat`. I've been using rootless podman on my linux machine and rather than having all of `/dev` be a filesystem, it specifically mounts the few devices...jhawthorn (John Hawthorn)
prefork() flushed rb_stdout and rb_stderr, which are the main Ractor's IOs. From another Ractor that takes the write_lock of an IO the Ractor does not own. When a main Ractor thread holds it (any thread logging to $stdout will do), the s...jhawthorn (John Hawthorn)
Applied in changeset commit:git|28f2eae4cf7681be36c3011a423154e45d21721c. ---------- Flush the current Ractor's stdout/stderr before spawning prefork() flushed rb_stdout and rb_stderr, which are the main Ractor's IOs. From another Ract...jhawthorn (John Hawthorn)
prefork() flushed rb_stdout and rb_stderr, which are the main Ractor's IOs. From another Ractor that takes the write_lock of an IO the Ractor does not own. When a main Ractor thread holds it (any thread logging to $stdout will do), the s...jhawthorn (John Hawthorn)
sferik (Erik Berlin) wrote in #note-9: > `Rails.cache` stores them with Marshal Are you able to use `config.cache_store = :memory_store, { serializer: :message_pack }`? Alternatively you could make a wrapper class where `dump`/`load`...jhawthorn (John Hawthorn)
```ruby s = "\x81\x30".force_encoding("GB18030") #=> "\x810" s.valid_encoding? # This is invalid #=> false (s + s).valid_encoding? # However it becomes valid when repeated #=> true (s << s).valid_encoding? # But concat assumed the...jhawthorn (John Hawthorn)