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