in benchmark.rb [32:54]
def self.fork_run(&block)
if defined?(JRUBY_VERSION)
h = {}
block.call(h)
return h
end
rd, wr = IO.pipe
p1 = fork do
h = {}
block.call(h)
wr.write(JSON.dump(h))
wr.close
end
Process.wait(p1)
wr.close
h = JSON.parse(rd.read, symbolize_names: true)
rd.close
h
end