pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/devel/ruby-io-event
Module Name: pkgsrc
Committed By: taca
Date: Sun May 24 14:27:56 UTC 2026
Modified Files:
pkgsrc/devel/ruby-io-event: Makefile distinfo
Log Message:
devel/ruby-io-event: update to 1.16.0
1.16.0 (2026-05-12)
* Use eventfd for URing cross-thread wakeup, and enable
IORING_SETUP_SINGLE_ISSUER, IORING_SETUP_DEFER_TASKRUN, and
IORING_SETUP_TASKRUN_FLAG. The waking thread now signals via eventfd
rather than submitting a NOP SQE, which unlocks the single-issuer
optimisation, defers task work to the application thread, and lets
select() skip the io_uring_get_events() syscall when no task work is
pending.
* Add support for the io_close fiber-scheduler hook (Ruby 4.0+). The URing
selector performs the close asynchronously via the ring; the
Debug::Selector and TestScheduler wrappers forward to the underlying
selector when supported.
* Improve WorkerPool GC compaction support and add proper write barriers,
fixing potential use-after-free under compacting GC.
* Keep blocked scheduler fibers alive during GC by registering them as roots
in TestScheduler#block, preventing premature collection and the resulting
use-after-free crash on resume.
* Use Ruby's xmalloc / xcalloc / xrealloc2 / xfree for all internal selector
allocations (the per-fiber ready-queue entries in
IO_Event_Selector_ready_push, and both the backing array and per-element
allocations in IO_Event_Array). Previously a raw malloc paired with a
debug-build-only assert(...) would silently dereference NULL and crash in
release builds under memory pressure; the Ruby allocators trigger a GC
sweep on pressure and raise NoMemoryError / RangeError on real failure, so
the -1 return-code paths through IO_Event_Array_initialize / _resize /
_lookup and their callers in epoll.c / kqueue.c / uring.c are removed in
favour of straight exception propagation.
* Correctly handle short io_uring_submit() results in the URing selector.
io_uring_submit() returns the number of SQEs actually accepted by the
kernel and can be short (SQE prep errors, ENOMEM, transient EAGAIN); the
old accounting reset pending = 0 on any success and silently lost track of
unsubmitted SQEs.
* Enable IORING_SETUP_SUBMIT_ALL (kernel 5.18+) on the URing selector so the
kernel keeps processing the rest of an SQE batch past individual errors,
reducing the frequency of short submits in practice.
To generate a diff of this commit:
cvs rdiff -u -r1.36 -r1.37 pkgsrc/devel/ruby-io-event/Makefile
cvs rdiff -u -r1.34 -r1.35 pkgsrc/devel/ruby-io-event/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/devel/ruby-io-event/Makefile
diff -u pkgsrc/devel/ruby-io-event/Makefile:1.36 pkgsrc/devel/ruby-io-event/Makefile:1.37
--- pkgsrc/devel/ruby-io-event/Makefile:1.36 Sun Apr 12 14:37:30 2026
+++ pkgsrc/devel/ruby-io-event/Makefile Sun May 24 14:27:56 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.36 2026/04/12 14:37:30 taca Exp $
+# $NetBSD: Makefile,v 1.37 2026/05/24 14:27:56 taca Exp $
-DISTNAME= io-event-1.15.1
+DISTNAME= io-event-1.16.0
CATEGORIES= devel
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
Index: pkgsrc/devel/ruby-io-event/distinfo
diff -u pkgsrc/devel/ruby-io-event/distinfo:1.34 pkgsrc/devel/ruby-io-event/distinfo:1.35
--- pkgsrc/devel/ruby-io-event/distinfo:1.34 Sun Apr 12 14:37:30 2026
+++ pkgsrc/devel/ruby-io-event/distinfo Sun May 24 14:27:56 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.34 2026/04/12 14:37:30 taca Exp $
+$NetBSD: distinfo,v 1.35 2026/05/24 14:27:56 taca Exp $
-BLAKE2s (io-event-1.15.1.gem) = acea1fb6a8fc7d9d3faf77a8df7e8bcd6cd95c074dbdd92c519dcfe2301b8f4b
-SHA512 (io-event-1.15.1.gem) = d14ef7e291b1c8a1ea60bc7e9700bfd2e1e0ff7f300bf487eb2a32847ac2a6943ba9b22361ab88b28089feac9473bada9d982b88af8560734803b592889164d0
-Size (io-event-1.15.1.gem) = 53248 bytes
+BLAKE2s (io-event-1.16.0.gem) = 0736a880748781c470dbfad311dfd5bd8ddf4069b5a5f8882197037b88b88914
+SHA512 (io-event-1.16.0.gem) = 967aef6363b71fd5c44acce31a12eb440a333cb8dad97e7eff754c6721354580a7d7b778c837d391afbcbc839fe3111f2b2e92c11d5f5f77b0733608c961425c
+Size (io-event-1.16.0.gem) = 56832 bytes
Home |
Main Index |
Thread Index |
Old Index