async 2.12.0 → 2.12.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8d13c552e4e34cd2b67661c228e727df5d3c7da697e7f59f369e02af5c76e513
4
- data.tar.gz: 954607e3c71338fb54fc59d627211a722870a5f8f934c84c113735cf24c24195
3
+ metadata.gz: 1eef4bf800b6d52c0f273289186f9886975237ecdf9885f599617691283ca2e5
4
+ data.tar.gz: 14a7e20dc72c178b89a93233a73fd49f182f7aec7926804b9b8bf37e8ceb9f36
5
5
  SHA512:
6
- metadata.gz: 392264144eed819eb93c49e53d2f0de6771cb966314a4e901223138af848fe550be76dd55bcc267db36d2593893e8421193568704987bcaab241171e13003e4c
7
- data.tar.gz: 85d97a0013909d6b1be52f73b49fcf3c7610ac59f43ab3794b0959d0266a2c283ea220fb6549fadb13e03be84abc5683988e15b07e607aefc24cca81eeab2479
6
+ metadata.gz: 30176358a5c9efc3df3e525e0ba941f5771bb7619bef28e1b6229a547ad3a24cb5475483a257704c3eea2d9214dcca2e17932994e0859a1c5d4dfc6401b24d48
7
+ data.tar.gz: 8b7353cf2ef0884c78a919775b84280d3234c7868c6c3b95aa00ae560a5825a07bd9533eda1afcc9776d1c94b7cc116e549e24144e4bab7c9bb3f086782a7456
checksums.yaml.gz.sig CHANGED
Binary file
@@ -346,6 +346,7 @@ module Async
346
346
  Kernel::raise ClosedError if @selector.nil?
347
347
 
348
348
  initial_task = self.async(...) if block_given?
349
+ interrupt = nil
349
350
 
350
351
  begin
351
352
  # In theory, we could use Exception here to be a little bit safer, but we've only shown the case for SignalException to be a problem, so let's not over-engineer this.
@@ -358,14 +359,17 @@ module Async
358
359
  break unless self.run_once
359
360
  end
360
361
  end
361
- rescue Interrupt
362
+ rescue Interrupt => interrupt
362
363
  Thread.handle_interrupt(::SignalException => :never) do
363
364
  self.stop
364
365
  end
365
366
 
366
367
  retry
367
368
  end
368
-
369
+
370
+ # If the event loop was interrupted, and we finished exiting normally (due to the interrupt), we need to re-raise the interrupt so that the caller can handle it too.
371
+ Kernel.raise interrupt if interrupt
372
+
369
373
  return initial_task
370
374
  ensure
371
375
  Console.debug(self) {"Exiting run-loop because #{$! ? $! : 'finished'}."}
data/lib/async/version.rb CHANGED
@@ -4,5 +4,5 @@
4
4
  # Copyright, 2017-2024, by Samuel Williams.
5
5
 
6
6
  module Async
7
- VERSION = "2.12.0"
7
+ VERSION = "2.12.1"
8
8
  end
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.12.0
4
+ version: 2.12.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -62,7 +62,7 @@ cert_chain:
62
62
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
63
63
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
64
64
  -----END CERTIFICATE-----
65
- date: 2024-06-04 00:00:00.000000000 Z
65
+ date: 2024-06-23 00:00:00.000000000 Z
66
66
  dependencies:
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: console
@@ -105,6 +105,9 @@ dependencies:
105
105
  - - "~>"
106
106
  - !ruby/object:Gem::Version
107
107
  version: '1.6'
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: 1.6.5
108
111
  type: :runtime
109
112
  prerelease: false
110
113
  version_requirements: !ruby/object:Gem::Requirement
@@ -112,6 +115,9 @@ dependencies:
112
115
  - - "~>"
113
116
  - !ruby/object:Gem::Version
114
117
  version: '1.6'
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ version: 1.6.5
115
121
  description:
116
122
  email:
117
123
  executables: []
@@ -166,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
172
  - !ruby/object:Gem::Version
167
173
  version: '0'
168
174
  requirements: []
169
- rubygems_version: 3.5.3
175
+ rubygems_version: 3.5.11
170
176
  signing_key:
171
177
  specification_version: 4
172
178
  summary: A concurrency framework for Ruby.
metadata.gz.sig CHANGED
Binary file