runtime_groups 0.1.2 → 0.1.3

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: 308e171a14eaf92e5a79f1c809a3aa6cc7f3c58ac9deefbf12bfd919820dde04
4
- data.tar.gz: f193266281d48f846fe593788bc4390be97411170b98bd8df69d1aca5def82da
3
+ metadata.gz: fb6eeb7a45ee1a7dae2072cfa6e6d96b03988ce740a97ab00ce69f564b504f95
4
+ data.tar.gz: ba9764052dd5d0e9ee4987d2e009d7d8ddfd0ec742d4b745cee657c4a7417273
5
5
  SHA512:
6
- metadata.gz: 39782fe6ad08614d73ec1f7fb83f1eea133a1cbb471b83aa230feb999caba2fce12ff9d995228e412fba02d61bbd09aae34ee5e87a252ab7546021d72f9bfc63
7
- data.tar.gz: bad041bff42c81c31bd9320612cce37e656c66a39c92fc681a8aca484e22fe5260ebe020ff1629ca14ea49c4df2164e50f7e7c6bb6417ae461c69d2abe74fc7c
6
+ metadata.gz: 5e83bda062f55d886b6fcd0dbdc0fbc3fe6f6d1ecfc5485904a096f17ea2a66c3674d154d104913c76ae279bf8576afef609fe81c97f181d7f4baa8159fea621
7
+ data.tar.gz: b33b9766c0390b24146afd41f0bab97450987853a79c4a30b3163032113b8d89dcf2dd33f93ef5850f65fd6c8fb13d4a2e0f1c6fc42b96441b4fce9d2e472f29
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,17 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [0.1.3] - 2026-10-15
34
+
35
+ - TAG: [v0.1.3][0.1.3t]
36
+ - COVERAGE: 99.22% -- 127/128 lines in 6 files
37
+ - BRANCH COVERAGE: 96.88% -- 31/32 branches in 6 files
38
+ - 93.55% documented
39
+
40
+ ### Fixed
41
+
42
+ - Pids#to_a tolerates the ledger file vanishing between the existence guard and the read (TOCTOU with concurrent PidFile teardown during worker untracking, seen on truffleruby as Errno::ENOENT mid-suite); returns an empty ledger instead
43
+
33
44
  ## [0.1.2] - 2026-10-15
34
45
 
35
46
  - TAG: [v0.1.2][0.1.2t]
@@ -151,7 +162,9 @@ Please file a bug if you notice a violation of semantic versioning.
151
162
  legacy manual bundle install path, avoiding setup-time Bundler full-index
152
163
  failures against `gem.coop`.
153
164
 
154
- [Unreleased]: https://github.com/galtzo-floss/runtime_groups/compare/v0.1.2...HEAD
165
+ [Unreleased]: https://github.com/galtzo-floss/runtime_groups/compare/v0.1.3...HEAD
166
+ [0.1.3]: https://github.com/galtzo-floss/runtime_groups/compare/v0.1.2...v0.1.3
167
+ [0.1.3t]: https://github.com/galtzo-floss/runtime_groups/releases/tag/v0.1.3
155
168
  [0.1.2]: https://github.com/galtzo-floss/runtime_groups/compare/v0.1.1...v0.1.2
156
169
  [0.1.2t]: https://github.com/galtzo-floss/runtime_groups/releases/tag/v0.1.2
157
170
  [0.1.1]: https://github.com/galtzo-floss/runtime_groups/compare/v0.1.0...v0.1.1
data/README.md CHANGED
@@ -562,7 +562,7 @@ Thanks for RTFM. ☺️
562
562
  [📌gitmoji]: https://gitmoji.dev
563
563
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
564
564
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
565
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.126-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
565
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.128-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
566
566
  [🔐security]: https://github.com/galtzo-floss/runtime_groups/blob/main/SECURITY.md
567
567
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
568
568
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -19,11 +19,19 @@ module RuntimeGroups
19
19
  end
20
20
 
21
21
  # @return [Array<Integer>] the pids currently recorded, deduplicated and
22
- # sorted ascending; empty when the file does not exist yet
22
+ # sorted ascending; empty when the file does not exist (or vanishes
23
+ # mid-read — a ledger owned by {PidFile.with} is deleted concurrently
24
+ # with worker teardown, so the entry guard cannot close that window)
23
25
  def to_a
24
26
  return [] unless File.file?(@path)
25
27
 
26
- File.readlines(@path).map do |line|
28
+ begin
29
+ lines = File.readlines(@path)
30
+ rescue Errno::ENOENT
31
+ return []
32
+ end
33
+
34
+ lines.map do |line|
27
35
  begin
28
36
  Integer(line.strip, 10)
29
37
  rescue ArgumentError
@@ -4,7 +4,7 @@ module RuntimeGroups
4
4
  # Version namespace for this gem.
5
5
  module Version
6
6
  # Current gem version.
7
- VERSION = "0.1.2"
7
+ VERSION = "0.1.3"
8
8
  end
9
9
  # Current gem version exposed at the traditional constant location.
10
10
  VERSION = Version::VERSION # Traditional Constant Location
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: runtime_groups
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -284,10 +284,10 @@ licenses:
284
284
  - MIT
285
285
  metadata:
286
286
  homepage_uri: https://github.com/galtzo-floss/runtime_groups
287
- source_code_uri: https://github.com/galtzo-floss/runtime_groups/tree/v0.1.2
288
- changelog_uri: https://github.com/galtzo-floss/runtime_groups/blob/v0.1.2/CHANGELOG.md
287
+ source_code_uri: https://github.com/galtzo-floss/runtime_groups/tree/v0.1.3
288
+ changelog_uri: https://github.com/galtzo-floss/runtime_groups/blob/v0.1.3/CHANGELOG.md
289
289
  bug_tracker_uri: https://github.com/galtzo-floss/runtime_groups/issues
290
- documentation_uri: https://www.rubydoc.info/gems/runtime_groups/0.1.2
290
+ documentation_uri: https://www.rubydoc.info/gems/runtime_groups/0.1.3
291
291
  funding_uri: https://github.com/sponsors/pboling
292
292
  wiki_uri: https://github.com/galtzo-floss/runtime_groups/wiki
293
293
  news_uri: https://www.railsbling.com/tags/runtime_groups
metadata.gz.sig CHANGED
Binary file