diff --git a/lib/child_process.js b/lib/child_process.js index fdea144082..63a0856bf3 100644 --- a/lib/child_process.js +++ b/lib/child_process.js @@ -172,10 +172,10 @@ exports.fork = function(modulePath /*, args, options*/) { var options, args, execArgv; if (Array.isArray(arguments[1])) { args = arguments[1]; - options = arguments[2] || {}; + options = util._extend({}, arguments[2]); } else { args = []; - options = arguments[1] || {}; + options = util._extend({}, arguments[1]); } // Prepare arguments for fork: @@ -264,15 +264,12 @@ exports.execFile = function(file /* args, options, callback */) { if (Array.isArray(arguments[1])) { args = arguments[1]; - if (typeof arguments[2] === 'object') optionArg = arguments[2]; + options = util._extend(options, arguments[2]); } else { args = []; - if (typeof arguments[1] === 'object') optionArg = arguments[1]; + options = util._extend(options, arguments[1]); } - // Merge optionArg into options - util._extend(options, optionArg); - var child = spawn(file, args, { cwd: options.cwd, env: options.env,