async 2.12.0 → 2.12.1

Sign up to get free protection for your applications and to get access to all the features.
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