grepfruit 4.1.0 → 4.1.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: 9c0935c8c65aa93564bbac5b7e4c109ac46df6f359a61da5f20f0fb5d1c50941
4
- data.tar.gz: 9a5b235ee6c08a82c9dd1e416b3fce19d192224182a59bcf6ce3a73bf45a1d50
3
+ metadata.gz: f646d2e1481d721670ac121a4d5aeea66d25dc4535a247dd0fc53b0b925840b1
4
+ data.tar.gz: a113bf65f841bc6dc8e7199064efe25a9860ea03dc26d42d7aba0dfdd6e1eac0
5
5
  SHA512:
6
- metadata.gz: a2bc081cc743ec0441464fb5af636f93666e93e5510f0a3694895f47c23cccfc413631fe8498458890af9e91e2beecaa5ced0369f0bf68a628bb46a10ca75554
7
- data.tar.gz: 8c728cca15c6ce8cfe07248f5622508407ce2e4dd41459a01bd801652651eeb7c360a76e8c8bb99e2ff7d34be43d78b5520a6f59b068c808c5f85a29bd5c4cb9
6
+ metadata.gz: 0e8be7fe3d599038171fd50a67cad9d19ec71cd6c7168c577d4873aa2c2fce7eca1e9645f72bf6e210db429bf57636afcf04f204d494881dc2ba0e3c86d250c4
7
+ data.tar.gz: 6f1b10e287c61a53234d609d9150f1c03005256bd966bdfd514fc815025b5ae1448310182307afaf13fd0f070e30aec02ff11d18075831f6a435bb8ff14407d5
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## v4.1.1
2
+
3
+ - Fixed the search hanging forever when a worker failed
4
+
1
5
  ## v4.1.0
2
6
 
3
7
  - Added --relative-paths option to return match paths relative to the search directory
@@ -10,6 +10,7 @@ module Grepfruit
10
10
  def create_worker(&)
11
11
  port = Ractor::Port.new
12
12
  worker = Ractor.new(port, &)
13
+ worker.monitor(port)
13
14
  [worker, port]
14
15
  end
15
16
 
@@ -21,6 +22,7 @@ module Grepfruit
21
22
  ports = workers_and_ports.values
22
23
  ready_port, result = Ractor.select(*ports)
23
24
  worker = workers_and_ports.key(ready_port)
25
+ worker.value if result == :aborted
24
26
  [worker, result]
25
27
  end
26
28
  else
@@ -111,7 +111,7 @@ module Grepfruit
111
111
  has_matches = true
112
112
  match_count += 1
113
113
  end
114
- rescue Errno::ENOENT, Errno::EACCES, Errno::EISDIR
114
+ rescue SystemCallError, EncodingError, Regexp::TimeoutError
115
115
  file_results, has_matches, match_count = [], false, 0
116
116
  end
117
117
 
@@ -1,3 +1,3 @@
1
1
  module Grepfruit
2
- VERSION = "4.1.0".freeze
2
+ VERSION = "4.1.1".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grepfruit
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.0
4
+ version: 4.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - enjaku4