From 64505f1bbc49ccbd921ca2a63a5398282d26ed64 Mon Sep 17 00:00:00 2001 From: Jan Jongboom Date: Fri, 25 May 2012 14:12:02 +0400 Subject: [PATCH] Refactor out static getPort calls --- plugins-server/cloud9.run.node/node-runner.js | 2 +- plugins-server/cloud9.run.npm/npm.js | 7 ++++-- plugins-server/cloud9.run.npmnode/npmnode.js | 25 +++++++++++-------- plugins-server/cloud9.run.shell/shell.js | 2 +- 4 files changed, 21 insertions(+), 15 deletions(-) diff --git a/plugins-server/cloud9.run.node/node-runner.js b/plugins-server/cloud9.run.node/node-runner.js index 4a48df24d39..a6f28fc586e 100644 --- a/plugins-server/cloud9.run.node/node-runner.js +++ b/plugins-server/cloud9.run.node/node-runner.js @@ -99,7 +99,7 @@ var Runner = exports.Runner = function(options, callback) { else { startProcess(options.url, port); } - }); + }); function startProcess (url, port) { self.port = port; diff --git a/plugins-server/cloud9.run.npm/npm.js b/plugins-server/cloud9.run.npm/npm.js index b58997b28fc..25c8e70523e 100644 --- a/plugins-server/cloud9.run.npm/npm.js +++ b/plugins-server/cloud9.run.npm/npm.js @@ -14,7 +14,7 @@ var exports = module.exports = function setup(options, imports, register) { imports.sandbox.getUnixId(function(err, unixId) { if (err) return register(err); - pm.addRunner("npm", exports.factory(unixId)); + pm.addRunner("npm", exports.factory(unixId, imports.sandbox)); register(null, { "run-npm": {} @@ -22,7 +22,7 @@ var exports = module.exports = function setup(options, imports, register) { }); }; -exports.factory = function(uid) { +exports.factory = function(uid, sandbox) { return function(args, eventEmitter, eventName, callback) { var options = {}; c9util.extend(options, args); @@ -31,6 +31,9 @@ exports.factory = function(uid) { options.eventName = eventName; options.args = args.args; options.command = "npm"; + + options.sandbox = sandbox; + return new Runner(options, callback); }; }; diff --git a/plugins-server/cloud9.run.npmnode/npmnode.js b/plugins-server/cloud9.run.npmnode/npmnode.js index 2c5e90e62ff..362cfecdc59 100644 --- a/plugins-server/cloud9.run.npmnode/npmnode.js +++ b/plugins-server/cloud9.run.npmnode/npmnode.js @@ -11,19 +11,15 @@ var exports = module.exports = function setup(options, imports, register) { sandbox.getUserDir(function(err, userDir) { if (err) return register(err); - sandbox.getPort(function(err, port) { + sandbox.getUnixId(function(err, unixId) { if (err) return register(err); - sandbox.getUnixId(function(err, unixId) { - if (err) return register(err); - - init(userDir, port, unixId); - }); + init(userDir, unixId); }); }); - function init(userDir, port, unixId) { - pm.addRunner("run-npm", exports.factory(userDir, port, unixId)); + function init(userDir, unixId) { + pm.addRunner("run-npm", exports.factory(imports.sandbox, userDir, unixId)); register(null, { "run-run-npm": {} @@ -31,12 +27,11 @@ var exports = module.exports = function setup(options, imports, register) { } }; -exports.factory = function(root, port, uid) { +exports.factory = function(sandbox, root, uid) { return function(args, eventEmitter, eventName, callback) { var options = {}; c9util.extend(options, args); options.root = root; - options.port = port; options.uid = uid; options.file = args.file; options.args = args.args; @@ -46,6 +41,8 @@ exports.factory = function(root, port, uid) { options.eventEmitter = eventEmitter; options.eventName = eventName; + options.sandbox = sandbox; + new Runner(options, callback); }; }; @@ -61,7 +58,13 @@ var Runner = exports.Runner = function(options, callback) { options.env = options.env || {}; options.command = process.execPath; - ShellRunner.call(this, options, callback); + options.sandbox.getPort(function (err, port) { + if (err) return callback(err); + + options.port = port; + + ShellRunner.call(this, options, callback); + }); }; util.inherits(Runner, ShellRunner); diff --git a/plugins-server/cloud9.run.shell/shell.js b/plugins-server/cloud9.run.shell/shell.js index 99d235104f1..ed2e128641f 100644 --- a/plugins-server/cloud9.run.shell/shell.js +++ b/plugins-server/cloud9.run.shell/shell.js @@ -116,7 +116,7 @@ var Runner = exports.Runner = function(options, callback) { this.args = ["-Hu", "#" + this.uid, this.command].concat(this.args); this.command = "sudo"; } - + try { var child = spawn(this.command, this.args, this.runOptions); } catch (e) {