pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/devel/ruby-async



Module Name:    pkgsrc
Committed By:   taca
Date:           Wed Sep 18 14:59:00 UTC 2024

Modified Files:
        pkgsrc/devel/ruby-async: Makefile PLIST distinfo

Log Message:
devel/ruby-async: update to 2.17.0

2.15.0 (2024-08-04)

* Allow transient tasks to exit completely. (#336)

2.15.1 (2024-08-07)

* Allow transient tasks to exit gracefully. (#337)

2.15.2 (2024-08-07)

* Transient tasks should only be stopped once. (#338)

2.15.3 (2024-08-08)

* Ensure that defer_stop resets state. (#339)

2.16.0 (2024-08-23)

Better Handling of Async and Sync in Nested Fibers

Interleaving bare fibers within Async and Sync blocks should not cause
problems, but it presents a number of issues in the current implementation.
Tracking the parent-child relationship between tasks, when they are
interleaved with bare fibers, is difficult.  The current implementation
assumes that if there is no parent task, then it should create a new
reactor.  This is not always the case, as the parent task might not be
visible due to nested Fibers.  As a result, Async will create a new reactor,
trying to stop the existing one, causing major internal consistency issues.

I encountered this issue when trying to use Async within a streaming
response in Rails.  The protocol-rack uses a normal fiber to wrap streaming
responses, and if you try to use Async within it, it will create a new
reactor, causing the server to lock up.

Ideally, Async and Sync helpers should work when any Fiber.scheduler is
defined.  Right now, it's unrealistic to expect Async::Task to work in any
scheduler, but at the very least, the following should work:

    reactor = Async::Reactor.new # internally calls Fiber.set_scheduler

    # This should run in the above reactor, rather than creating a new one.
    Async do
      puts "Hello World"
    end

In order to do this, bare Async and Sync blocks should use Fiber.scheduler
as a parent if possible.

See #340 for more details.

2.16.1 (2024-08-26)

* Add timeout to timeout error message.

2.17.0 (2024-09-05)

* Introduce Async::Queue#push and Async::Queue#pop for compatibility with
  ::Queue.


To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 pkgsrc/devel/ruby-async/Makefile
cvs rdiff -u -r1.5 -r1.6 pkgsrc/devel/ruby-async/PLIST
cvs rdiff -u -r1.23 -r1.24 pkgsrc/devel/ruby-async/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-async/Makefile
diff -u pkgsrc/devel/ruby-async/Makefile:1.26 pkgsrc/devel/ruby-async/Makefile:1.27
--- pkgsrc/devel/ruby-async/Makefile:1.26       Sat Jul 20 15:20:07 2024
+++ pkgsrc/devel/ruby-async/Makefile    Wed Sep 18 14:59:00 2024
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.26 2024/07/20 15:20:07 taca Exp $
+# $NetBSD: Makefile,v 1.27 2024/09/18 14:59:00 taca Exp $
 
-DISTNAME=      async-2.14.2
+DISTNAME=      async-2.17.0
 CATEGORIES=    devel
 
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
@@ -10,7 +10,7 @@ LICENSE=      mit
 
 USE_LANGUAGES= # none
 
-DEPENDS+=      ${RUBY_PKGPREFIX}-console>=1.25.2<2:../../devel/ruby-console
+DEPENDS+=      ${RUBY_PKGPREFIX}-console>=1.26<2:../../devel/ruby-console
 DEPENDS+=      ${RUBY_PKGPREFIX}-io-event>=1.6.5<2:../../devel/ruby-io-event
 DEPENDS+=      ${RUBY_PKGPREFIX}-fiber-annotation>=0:../../devel/ruby-fiber-annotation
 

Index: pkgsrc/devel/ruby-async/PLIST
diff -u pkgsrc/devel/ruby-async/PLIST:1.5 pkgsrc/devel/ruby-async/PLIST:1.6
--- pkgsrc/devel/ruby-async/PLIST:1.5   Tue Mar  5 13:21:29 2024
+++ pkgsrc/devel/ruby-async/PLIST       Wed Sep 18 14:59:00 2024
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.5 2024/03/05 13:21:29 taca Exp $
+@comment $NetBSD: PLIST,v 1.6 2024/09/18 14:59:00 taca Exp $
 ${GEM_HOME}/cache/${GEM_NAME}.gem
 ${GEM_LIBDIR}/lib/async.rb
 ${GEM_LIBDIR}/lib/async/barrier.md
@@ -26,4 +26,5 @@ ${GEM_LIBDIR}/lib/kernel/async.rb
 ${GEM_LIBDIR}/lib/kernel/sync.rb
 ${GEM_LIBDIR}/license.md
 ${GEM_LIBDIR}/readme.md
+${GEM_LIBDIR}/releases.md
 ${GEM_HOME}/specifications/${GEM_NAME}.gemspec

Index: pkgsrc/devel/ruby-async/distinfo
diff -u pkgsrc/devel/ruby-async/distinfo:1.23 pkgsrc/devel/ruby-async/distinfo:1.24
--- pkgsrc/devel/ruby-async/distinfo:1.23       Sat Jul 20 15:20:07 2024
+++ pkgsrc/devel/ruby-async/distinfo    Wed Sep 18 14:59:00 2024
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.23 2024/07/20 15:20:07 taca Exp $
+$NetBSD: distinfo,v 1.24 2024/09/18 14:59:00 taca Exp $
 
-BLAKE2s (async-2.14.2.gem) = fe62c7ac2b17090c937ae42022f3c077bc7d2acbce313372943103a7f3f4ba51
-SHA512 (async-2.14.2.gem) = fa65def5d4aef62d3c88d8cecda1f08ba0200417d99ce22c3b8da0ca714129246030060e718dc62f3cfe61572319c9adbb2ffa956b3072736ccef7220dc5e5d4
-Size (async-2.14.2.gem) = 30208 bytes
+BLAKE2s (async-2.17.0.gem) = 68005ca0306c8decd9b0e5663243cec576617006d3b52f0af1df02d56167ddd1
+SHA512 (async-2.17.0.gem) = 4b689c8c073773d7856f0ef57f4d1bab568de727f3339c4162fdff8cdc01c6d6d18c7570148371d85f1b5bb5f526a8a4509feafaf2a3114679dfc8f18b609d50
+Size (async-2.17.0.gem) = 31232 bytes



Home | Main Index | Thread Index | Old Index