From dc1dea49e2f1f931a3a383859e754bdd0afdf4ac Mon Sep 17 00:00:00 2001 From: taca Date: Wed, 18 Sep 2024 14:59:00 +0000 Subject: [PATCH] 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. --- devel/ruby-async/Makefile | 6 +++--- devel/ruby-async/PLIST | 3 ++- devel/ruby-async/distinfo | 8 ++++---- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/devel/ruby-async/Makefile b/devel/ruby-async/Makefile index 883a484231dd..49b09a32697f 100644 --- a/devel/ruby-async/Makefile +++ b/devel/ruby-async/Makefile @@ -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 @@ -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 diff --git a/devel/ruby-async/PLIST b/devel/ruby-async/PLIST index f74efbdcd65f..1df1f0f0c75d 100644 --- a/devel/ruby-async/PLIST +++ b/devel/ruby-async/PLIST @@ -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 diff --git a/devel/ruby-async/distinfo b/devel/ruby-async/distinfo index d1b3595742c2..bcc917626d65 100644 --- a/devel/ruby-async/distinfo +++ b/devel/ruby-async/distinfo @@ -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