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:           Sat Jun 14 14:21:11 UTC 2025

Modified Files:
        pkgsrc/devel/ruby-io-event: Makefile PLIST distinfo

Log Message:
devel/ruby-io-event: update to 1.11.0

1.11.0 (2025-06-13)

Introduce IO::Event::WorkerPool for off-loading blocking operations.

The {ruby IO::Event::WorkerPool} provides a mechanism for executing blocking
operations on separate OS threads while properly integrating with Ruby's
fiber scheduler and GVL (Global VM Lock) management.  This enables true
parallelism for CPU-intensive or blocking operations that would otherwise
block the event loop.

  # Fiber scheduler integration via blocking_operation_wait hook
  class MyScheduler
          def initialize
                  @worker_pool = IO::Event::WorkerPool.new
          end

    def blocking_operation_wait(operation)
      @worker_pool.call(operation)
    end
  end

  # Usage with automatic offloading
  Fiber.set_scheduler(MyScheduler.new)
  # Automatically offload `rb_nogvl(..., RB_NOGVL_OFFLOAD_SAFE)` to a background thread:
  result = some_blocking_operation()

The implementation uses one or more background threads and a list of pending
blocking operations.  Those operations either execute through to completion
or may be cancelled, which executes the "unblock function" provided to
rb_nogvl.


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 pkgsrc/devel/ruby-io-event/Makefile
cvs rdiff -u -r1.7 -r1.8 pkgsrc/devel/ruby-io-event/PLIST
cvs rdiff -u -r1.27 -r1.28 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.29 pkgsrc/devel/ruby-io-event/Makefile:1.30
--- pkgsrc/devel/ruby-io-event/Makefile:1.29    Sun Jun  8 16:38:38 2025
+++ pkgsrc/devel/ruby-io-event/Makefile Sat Jun 14 14:21:11 2025
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.29 2025/06/08 16:38:38 taca Exp $
+# $NetBSD: Makefile,v 1.30 2025/06/14 14:21:11 taca Exp $
 
-DISTNAME=      io-event-1.10.2
+DISTNAME=      io-event-1.11.0
 CATEGORIES=    devel
 
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost

Index: pkgsrc/devel/ruby-io-event/PLIST
diff -u pkgsrc/devel/ruby-io-event/PLIST:1.7 pkgsrc/devel/ruby-io-event/PLIST:1.8
--- pkgsrc/devel/ruby-io-event/PLIST:1.7        Sun Mar 16 13:44:01 2025
+++ pkgsrc/devel/ruby-io-event/PLIST    Sat Jun 14 14:21:11 2025
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.7 2025/03/16 13:44:01 taca Exp $
+@comment $NetBSD: PLIST,v 1.8 2025/06/14 14:21:11 taca Exp $
 ${GEM_HOME}/cache/${GEM_NAME}.gem
 ${GEM_EXTSDIR}/IO_Event.${RUBY_DLEXT}
 ${GEM_EXTSDIR}/gem.build_complete
@@ -23,6 +23,10 @@ ${GEM_LIBDIR}/ext/io/event/selector/urin
 ${GEM_LIBDIR}/ext/io/event/selector/uring.h
 ${GEM_LIBDIR}/ext/io/event/time.c
 ${GEM_LIBDIR}/ext/io/event/time.h
+${GEM_LIBDIR}/ext/io/event/worker_pool.c
+${GEM_LIBDIR}/ext/io/event/worker_pool.h
+${GEM_LIBDIR}/ext/io/event/worker_pool_test.c
+${GEM_LIBDIR}/ext/io/event/worker_pool_test.h
 ${GEM_LIBDIR}/lib/IO_Event.${RUBY_DLEXT}
 ${GEM_LIBDIR}/lib/io/event.rb
 ${GEM_LIBDIR}/lib/io/event/debug/selector.rb

Index: pkgsrc/devel/ruby-io-event/distinfo
diff -u pkgsrc/devel/ruby-io-event/distinfo:1.27 pkgsrc/devel/ruby-io-event/distinfo:1.28
--- pkgsrc/devel/ruby-io-event/distinfo:1.27    Sun Jun  8 16:38:38 2025
+++ pkgsrc/devel/ruby-io-event/distinfo Sat Jun 14 14:21:11 2025
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.27 2025/06/08 16:38:38 taca Exp $
+$NetBSD: distinfo,v 1.28 2025/06/14 14:21:11 taca Exp $
 
-BLAKE2s (io-event-1.10.2.gem) = 1a4af02054b59d2de318446b525d24a8b737816854e47172e2f3f6befcb864e3
-SHA512 (io-event-1.10.2.gem) = 4552b60f340f2194df79059faf5e6373af20315055ba826c972cd7abafe671b77340dab28da738b329b227c8cd5cc0b2fbc93e0a161c932bda46dc3fecbcf805
-Size (io-event-1.10.2.gem) = 43008 bytes
+BLAKE2s (io-event-1.11.0.gem) = 6d98f6a698192531560b7dd052fbbbb218b32f5f0e67dcfa6fa0942078b5fbc3
+SHA512 (io-event-1.11.0.gem) = 3aecff13c68bd183dcf5c7e1bf370ae082cc6a123d718954eb33d68312d9f666a1579be1f84e40b719e2afcc91938cd2731e722d2813b1759dc7e2cdac8db6f4
+Size (io-event-1.11.0.gem) = 48640 bytes



Home | Main Index | Thread Index | Old Index