async 2.6.0 → 2.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/async/scheduler.rb +11 -1
- data/lib/async/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +3 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f927b2f4b64bf4a43b901089b38eb64ba01baf0ac37dd970fe52506c31109aa6
|
4
|
+
data.tar.gz: c61ae34c4bd306249a2a7f28e9c3df4311b8b72672acf98eac4cced17b4c03ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1be5a97431b3c73aaee1b990f99bb2c90f0b1c1f5a82f1f63dc7cb79e8009c9a9b24abf17ec34f5efbd1408afa5b19a423e0eaa38b08c9feb76a474aeecf48bc
|
7
|
+
data.tar.gz: e34b4ae8184222314883f54696ac55ab7fde069e74f05f8c4aea9be7a834b16576642ad8a9bed0000a9b8a3b1102309545940ef8a03a1aafa9c76813a05da0f8
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/async/scheduler.rb
CHANGED
@@ -50,7 +50,7 @@ module Async
|
|
50
50
|
def close
|
51
51
|
# It's critical to stop all tasks. Otherwise they might be holding on to resources which are never closed/released correctly.
|
52
52
|
until self.terminate
|
53
|
-
self.run_once
|
53
|
+
self.run_once!
|
54
54
|
end
|
55
55
|
|
56
56
|
Kernel.raise "Closing scheduler with blocked operations!" if @blocked > 0
|
@@ -215,6 +215,16 @@ module Async
|
|
215
215
|
return false
|
216
216
|
end
|
217
217
|
|
218
|
+
return run_once!(timeout)
|
219
|
+
end
|
220
|
+
|
221
|
+
# Run one iteration of the event loop.
|
222
|
+
#
|
223
|
+
# When terminating the event loop, we already know we are finished. So we don't need to check the task tree. This is a logical requirement because `run_once` ignores transient tasks. For example, a single top level transient task is not enough to keep the reactor running, but during termination we must still process it in order to terminate child tasks.
|
224
|
+
#
|
225
|
+
# @parameter timeout [Float | Nil] The maximum timeout, or if nil, indefinite.
|
226
|
+
# @returns [Boolean] Whether there is more work to do.
|
227
|
+
private def run_once!(timeout = 0)
|
218
228
|
interval = @timers.wait_interval
|
219
229
|
|
220
230
|
# If there is no interval to wait (thus no timers), and no tasks, we could be done:
|
data/lib/async/version.rb
CHANGED
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: async
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.6.
|
4
|
+
version: 2.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
@@ -56,7 +56,7 @@ cert_chain:
|
|
56
56
|
Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
|
57
57
|
voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
|
58
58
|
-----END CERTIFICATE-----
|
59
|
-
date: 2023-06-
|
59
|
+
date: 2023-06-09 00:00:00.000000000 Z
|
60
60
|
dependencies:
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: console
|
@@ -261,7 +261,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
261
261
|
- !ruby/object:Gem::Version
|
262
262
|
version: '0'
|
263
263
|
requirements: []
|
264
|
-
rubygems_version: 3.
|
264
|
+
rubygems_version: 3.5.0.dev
|
265
265
|
signing_key:
|
266
266
|
specification_version: 4
|
267
267
|
summary: A concurrency framework for Ruby.
|
metadata.gz.sig
CHANGED
Binary file
|