lib/rbbt/util/docker.rb in rbbt-util-5.19.34 vs lib/rbbt/util/docker.rb in rbbt-util-5.19.35
- old
+ new
@@ -18,11 +18,15 @@
job_inputs.each do |name,obj|
case obj
when File
FileUtils.cp obj.filename, directory[name]
when IO
- Open.write(tmpfile[name], obj)
+ begin
+ Open.write(directory[name], obj)
+ ensure
+ obj.join if obj.respond_to?(:join) and not obj.joined?
+ end
when String
if obj.length < 256 and File.exists?(obj)
FileUtils.cp obj, directory[name]
else
Open.write(directory[name], obj)
@@ -37,10 +41,14 @@
job_inputs.each do |name,obj|
case obj
when File
FileUtils.cp obj.filename, tmpfile[name]
when IO
- Open.write(tmpfile[name], obj)
+ begin
+ Open.write(tmpfile[name], obj)
+ ensure
+ obj.join if obj.respond_to?(:join) and not obj.joined?
+ end
when String
if obj.length < 256 and File.exists?(obj)
FileUtils.cp obj, tmpfile[name]
else
Open.write(tmpfile[name], obj)