fixes bug with mutlple pool instances

This commit is contained in:
Zachary Boyd 2017-03-22 13:08:50 -04:00
parent d9d0a200c5
commit feab4e3990
3 changed files with 4 additions and 5 deletions

View file

@ -16,6 +16,8 @@ ENV INSTANCES 3
ENV PATH $PATH:/app/bin
ADD http://public.zacharyboyd.nyc/columbia-ubuntu-sources.list /etc/apt/sources.list
ADD tor-sources.list /etc/apt/sources.list.d/tor.list
ADD https://deb.nodesource.com/setup_6.x /tmp/nodejs_install

View file

@ -31,8 +31,6 @@ let socks_port = (program.socksPort === true ? 9050 : program.socksPort) || Numb
let dns_port = (program.dnsPort === true ? 9053 : program.dnsPort) || Number(process.env.DNS_PORT);
let control_port = (program.controlPort === true ? 9077 : program.controlPort) || Number(process.env.CONTROL_PORT) || 9077;
let pool = new TorPool('tor', null, logger);
if (log_level === 'null')
logger = void(0);
@ -48,7 +46,7 @@ if (dns_port) {
if (instances) {
logger && logger.info('[tor]: starting ${instances} tor instances...')
pool.create(instances, (err) => {
control.torPool.create(instances, (err) => {
logger && logger.info('[tor]: tor started');
});
}

View file

@ -44,8 +44,8 @@ class TorPool extends EventEmitter {
let instance = new TorProcess(this.tor_path, config, this.logger);
instance.create((error) => {
if (error) return callback(error);
this._instances.push(instance);
instance.once('error', callback)
instance.once('ready', () => {
callback && callback(null, instance);
@ -55,7 +55,6 @@ class TorPool extends EventEmitter {
create(instances, callback) {
if (!Number(instances)) return callback(null, []);
async.map(Array.from(Array(Number(instances))), (nothing, next) => {
this.create_instance(next);
}, (callback || (() => {})));