@@ -125,7 +125,7 @@ def terminate(pid, signal = :TERM, pgroup = nil, reprieve = 1)
125
125
126
126
def invoke_ruby ( args , stdin_data = "" , capture_stdout = false , capture_stderr = false ,
127
127
encoding : nil , timeout : 10 , reprieve : 1 , timeout_error : Timeout ::Error ,
128
- stdout_filter : nil , stderr_filter : nil ,
128
+ stdout_filter : nil , stderr_filter : nil , ios : nil ,
129
129
signal : :TERM ,
130
130
rubybin : EnvUtil . rubybin , precommand : nil ,
131
131
**opt )
@@ -141,6 +141,8 @@ def invoke_ruby(args, stdin_data = "", capture_stdout = false, capture_stderr =
141
141
out_p . set_encoding ( encoding ) if out_p
142
142
err_p . set_encoding ( encoding ) if err_p
143
143
end
144
+ ios . each { |i , o = i |opt [ i ] = o } if ios
145
+
144
146
c = "C"
145
147
child_env = { }
146
148
LANG_ENVS . each { |lc | child_env [ lc ] = c }
@@ -152,7 +154,7 @@ def invoke_ruby(args, stdin_data = "", capture_stdout = false, capture_stderr =
152
154
end
153
155
child_env [ 'ASAN_OPTIONS' ] = ENV [ 'ASAN_OPTIONS' ] if ENV [ 'ASAN_OPTIONS' ]
154
156
args = [ args ] if args . kind_of? ( String )
155
- pid = spawn ( child_env , *precommand , rubybin , *args , ** opt )
157
+ pid = spawn ( child_env , *precommand , rubybin , *args , opt )
156
158
in_c . close
157
159
out_c &.close
158
160
out_c = nil
0 commit comments