isomorfeus-speednode 0.2.5 → 0.2.6

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: ff385e17d9a0ad14f80b1d1b9bafe5b41e2d168b2caf4e282cfcd9db1e7867e6
4
- data.tar.gz: 66c713e846617959a343c644ac2c09d326f901440f27c3ec3e1446790c6a4196
3
+ metadata.gz: f167c560233ea7e7be7878c82904042713a770bed43a0aea82be00873c2cdd5a
4
+ data.tar.gz: 520b52ea901320c811a772b82ca169b243c1bebe74bce0fcc6ea619cf0207eee
5
5
  SHA512:
6
- metadata.gz: 118dcf3ecb4e89fc7cee5b2eef95460d33e2826dd38cd0b14f89383a685790b710e917ba17daa77cd14ec1d9551888ae9f09941a9dca4f51606997aa7280475e
7
- data.tar.gz: 25b59b6254349cfaaa4b51710f66277e5dbc8b5c133fd6d4c571587d702c7bd36758fc88b4338dc78be4f30614c8e9ebb7e0375fbcd4c41ff67552cb62b32279
6
+ metadata.gz: 7030fae1af851c181b641fb1dcccc5d09f4fe19dd41ec44210b42d0e74b06f4ea20f1ebfb9f48716a7fc93a47fae24711584074027e825739cf789f975bb5a96
7
+ data.tar.gz: 41b7b7886d40935f03bc481b57d4856842178b8d260964008df82c99776e623909390016e498d3e5f62ecbdc64cf9de8cda09eb1f9730882a20a09e5ccfa7c28
@@ -32,10 +32,13 @@ module Isomorfeus
32
32
  @started
33
33
  end
34
34
 
35
- def self.finalize(socket)
35
+ def self.finalize(socket, socket_dir, socket_path, pid)
36
36
  proc {
37
37
  VMCommand.new(socket, "exit", [0]).execute
38
38
  socket.close
39
+ File.unlink(socket_path)
40
+ Dir.rmdir(socket_dir)
41
+ Process.kill('KILL', pid)
39
42
  }
40
43
  end
41
44
 
@@ -61,8 +64,8 @@ module Isomorfeus
61
64
 
62
65
  def start_without_synchronization
63
66
  return if @started
64
- dir = Dir.mktmpdir("isomorfeus-speednode-")
65
- @socket_path = File.join(dir, "socket")
67
+ @socket_dir = Dir.mktmpdir("isomorfeus-speednode-")
68
+ @socket_path = File.join(@socket_dir, "socket")
66
69
  @pid = Process.spawn({"SOCKET_PATH" => @socket_path}, @options[:binary], @options[:runner_path])
67
70
 
68
71
  retries = 20
@@ -82,10 +85,13 @@ module Isomorfeus
82
85
  unless @socket.closed?
83
86
  VMCommand.new(@socket, "exit", [0]).execute
84
87
  @socket.close
88
+ File.unlink(@socket_path)
89
+ Dir.rmdir(@socket_dir)
90
+ Process.kill('KILL', @pid)
85
91
  end
86
92
  end
87
93
 
88
- ObjectSpace.define_finalizer(self, self.class.finalize(@socket))
94
+ ObjectSpace.define_finalizer(self, self.class.finalize(@socket, @socket_dir, @socket_path, @pid))
89
95
  end
90
96
 
91
97
  def command(cmd, *arguments)
@@ -1,5 +1,5 @@
1
1
  module Isomorfeus
2
2
  module Speednode
3
- VERSION = '0.2.5'
3
+ VERSION = '0.2.6'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isomorfeus-speednode
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann