parallel 1.3.1 → 1.3.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/parallel.rb +13 -12
- data/lib/parallel/version.rb +1 -1
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4e78d815458047cedffa16bc96039d7e3190c91
|
4
|
+
data.tar.gz: 61b2f747f5316c87243377f29360cf5d672cb162
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 04f1cbad473a3120c8b1d4092e9a6e264c77d480ebc50c2b1ddaac61310b998cef3de43c14bdd9d276485303f890a7d3ac7f2aaf3fd15181e4e01402aa10effc
|
7
|
+
data.tar.gz: 30e97bd0a5bbac98e151cb06eb8d16989d51fa4d9446b7c9415b9cc4c70bf363cf84850165e51428eeeb754499fafe3e69b503ed769300f5be4c2d92bf16c58e
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/parallel.rb
CHANGED
@@ -136,7 +136,7 @@ module Parallel
|
|
136
136
|
end
|
137
137
|
end
|
138
138
|
|
139
|
-
kill_on_ctrl_c(threads) { wait_for_threads(threads) }
|
139
|
+
kill_on_ctrl_c(threads, options) { wait_for_threads(threads) }
|
140
140
|
|
141
141
|
out
|
142
142
|
end
|
@@ -227,7 +227,7 @@ module Parallel
|
|
227
227
|
results = []
|
228
228
|
exception = nil
|
229
229
|
|
230
|
-
in_threads(options
|
230
|
+
in_threads(options) do
|
231
231
|
# as long as there are more items, work on one of them
|
232
232
|
loop do
|
233
233
|
break if exception
|
@@ -253,8 +253,8 @@ module Parallel
|
|
253
253
|
results = []
|
254
254
|
exception = nil
|
255
255
|
|
256
|
-
kill_on_ctrl_c(workers.map(&:pid)) do
|
257
|
-
in_threads(options
|
256
|
+
kill_on_ctrl_c(workers.map(&:pid), options) do
|
257
|
+
in_threads(options) do |i|
|
258
258
|
worker = workers[i]
|
259
259
|
worker.thread = Thread.current
|
260
260
|
|
@@ -368,12 +368,13 @@ module Parallel
|
|
368
368
|
end
|
369
369
|
|
370
370
|
# kill all these pids or threads if user presses Ctrl+c
|
371
|
-
def kill_on_ctrl_c(things)
|
371
|
+
def kill_on_ctrl_c(things, options)
|
372
372
|
@to_be_killed ||= []
|
373
373
|
old_interrupt = nil
|
374
|
+
signal = options.fetch(:interrupt_signal, INTERRUPT_SIGNAL)
|
374
375
|
|
375
376
|
if @to_be_killed.empty?
|
376
|
-
old_interrupt = trap_interrupt do
|
377
|
+
old_interrupt = trap_interrupt(signal) do
|
377
378
|
$stderr.puts 'Parallel execution interrupted, exiting ...'
|
378
379
|
@to_be_killed.flatten.compact.each { |thing| kill_that_thing!(thing) }
|
379
380
|
end
|
@@ -384,13 +385,13 @@ module Parallel
|
|
384
385
|
yield
|
385
386
|
ensure
|
386
387
|
@to_be_killed.pop # free threads for GC and do not kill pids that could be used for new processes
|
387
|
-
restore_interrupt(old_interrupt) if @to_be_killed.empty?
|
388
|
+
restore_interrupt(old_interrupt, signal) if @to_be_killed.empty?
|
388
389
|
end
|
389
390
|
|
390
|
-
def trap_interrupt
|
391
|
-
old = Signal.trap
|
391
|
+
def trap_interrupt(signal)
|
392
|
+
old = Signal.trap signal, 'IGNORE'
|
392
393
|
|
393
|
-
Signal.trap
|
394
|
+
Signal.trap signal do
|
394
395
|
yield
|
395
396
|
if old == "DEFAULT"
|
396
397
|
raise Interrupt
|
@@ -402,8 +403,8 @@ module Parallel
|
|
402
403
|
old
|
403
404
|
end
|
404
405
|
|
405
|
-
def restore_interrupt(old)
|
406
|
-
Signal.trap
|
406
|
+
def restore_interrupt(old, signal)
|
407
|
+
Signal.trap signal, old
|
407
408
|
end
|
408
409
|
|
409
410
|
def kill_that_thing!(thing)
|
data/lib/parallel/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: parallel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Grosser
|
@@ -30,7 +30,7 @@ cert_chain:
|
|
30
30
|
F5etKHZg0j3eHO31/i2HnswY04lqGImUu6aM5EnijFTB7PPW2KwKKM4+kKDYFdlw
|
31
31
|
/0WV1Ng2/Y6qsHwmqGg2VlYj2h4=
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date: 2014-09-
|
33
|
+
date: 2014-09-12 00:00:00.000000000 Z
|
34
34
|
dependencies: []
|
35
35
|
description:
|
36
36
|
email: michael@grosser.it
|
metadata.gz.sig
CHANGED
Binary file
|