From 48c65bb58bf5c36eca96b24b6b8f5dd217520073 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Mon, 24 Oct 2016 19:37:07 -0700 Subject: [PATCH] node: do not listen until after wallet has loaded. --- lib/net/pool.js | 12 ++++-------- lib/node/fullnode.js | 4 +++- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/lib/net/pool.js b/lib/net/pool.js index ab9a027f..5feced1c 100644 --- a/lib/net/pool.js +++ b/lib/net/pool.js @@ -315,11 +315,6 @@ Pool.prototype._open = co(function* _open() { this.logger.info('Identity public key: %s.', key.toString('hex')); this.logger.info('Identity address: %s.', BIP150.address(key)); } - - if (!this.options.listen) - return; - - yield this.listen(); }); /** @@ -406,7 +401,8 @@ Pool.prototype.listen = function listen() { var self = this; var net; - assert(!this.server, 'Server already listening.'); + if (this.server) + return Promise.resolve(); if (this.createServer) { this.server = this.createServer(); @@ -442,10 +438,10 @@ Pool.prototype.unlisten = function unlisten() { var self = this; if (utils.isBrowser) - return; + return Promise.resolve(); if (!this.server) - return; + return Promise.resolve(); return new Promise(function(resolve, reject) { self.server.close(co.wrap(resolve, reject)); diff --git a/lib/node/fullnode.js b/lib/node/fullnode.js index 0fb5b946..79e0f7b3 100644 --- a/lib/node/fullnode.js +++ b/lib/node/fullnode.js @@ -124,7 +124,6 @@ function FullNode(options) { preferredSeed: this.options.preferredSeed, ignoreDiscovery: this.options.ignoreDiscovery, port: this.options.port, - listen: this.options.listen, spv: false }); @@ -246,6 +245,9 @@ FullNode.prototype._open = co(function* open() { // Ensure primary wallet. yield this.openWallet(); + if (this.options.listen) + yield this.pool.listen(); + if (this.http) yield this.http.open();