async 1.25.1 → 1.25.2

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: 70efaa49b29fd36596f22f7796c475610955cc63836725b00775f6c1025aa976
4
- data.tar.gz: d5e7987bcb581c20b3ac17fba0ef803a61f154ec107b55ad01220c16ae2a32e6
3
+ metadata.gz: 81b7571d3f6ac5ce2ade98ca74b0440581178c8cb74503553d5a6dc70956a6fb
4
+ data.tar.gz: f5aeea0f0a482f52e98c5064bd9678aed1f9b8e4868ad2d5bf7a79c009f53275
5
5
  SHA512:
6
- metadata.gz: d47987f2b355ab4dff7e06443787190dc8567abe30391b3a0a2dde55efb4592c14af94b42f52cf2b7f6e35d9868bb1f2cfbdd23cb9abddb4c1ba34a97cf0dab9
7
- data.tar.gz: 014fa5e68d7fb509f6120cbce6e07f75d6c17c86b8d5dcc93278555c4e11ea27a2a8883ba8193359aeed1ab3d5303d92e30b053cf840aa31c0b4f9b002d7c5d4
6
+ metadata.gz: 9a513e4b8f4efb35cd0438801c2e0dc6896b9f11f911e8cc547a15c22043d28adeb257d47de2d326513095cf813ab88fd9c1aec8c7c7daffef85a8c7238da7f9
7
+ data.tar.gz: 84e46d9e07977de42c79297f0c1decf62957497ed6688bdc65b687fee21b26127c7e553c64d09d5e4dcf405dcc46d468b22e689bfb6e69dfac4c541b9608459f
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  Async is a modern concurrency framework for Ruby. It implements the
11
11
  reactor pattern, providing both non-blocking I/O and timer events.
12
12
  EOF
13
- spec.summary = "Async is an concurrency framework based for Ruby."
13
+ spec.summary = "Async is a concurrency framework for Ruby."
14
14
  spec.homepage = "https://github.com/socketry/async"
15
15
  spec.license = "MIT"
16
16
 
@@ -72,8 +72,7 @@ module Async
72
72
  end
73
73
 
74
74
  item.head = nil
75
- # Don't do this, because it will break enumeration.
76
- # item.tail = nil
75
+ item.tail = nil
77
76
 
78
77
  @size -= 1
79
78
 
@@ -85,8 +84,10 @@ module Async
85
84
 
86
85
  item = @head
87
86
  while item
87
+ # We store the tail pointer so we can remove the current item from the linked list:
88
+ tail = item.tail
88
89
  yield item
89
- item = item.tail
90
+ item = tail
90
91
  end
91
92
  end
92
93
 
@@ -21,5 +21,5 @@
21
21
  # THE SOFTWARE.
22
22
 
23
23
  module Async
24
- VERSION = "1.25.1"
24
+ VERSION = "1.25.2"
25
25
  end
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: 1.25.1
4
+ version: 1.25.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -220,7 +220,7 @@ requirements: []
220
220
  rubygems_version: 3.1.2
221
221
  signing_key:
222
222
  specification_version: 4
223
- summary: Async is an concurrency framework based for Ruby.
223
+ summary: Async is a concurrency framework for Ruby.
224
224
  test_files:
225
225
  - spec/async/barrier_spec.rb
226
226
  - spec/async/chainable_async_examples.rb