fix reorganize.

This commit is contained in:
Christopher Jeffrey 2016-06-02 08:22:19 -07:00
parent 5b1ce02324
commit 1839bb5725
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD

View File

@ -1002,20 +1002,18 @@ Chain.prototype._reorganize = function _reorganize(entry, block, callback) {
function disconnect(callback) {
var entries = [];
entries.push(tip);
(function collect(entry) {
if (entry.hash === fork.hash)
return finish();
entries.push(entry);
entry.getPrevious(function(err, entry) {
if (err)
return callback(err);
assert(entry);
if (entry.hash === fork.hash)
return finish();
entries.push(entry);
collect(entry);
});
})(tip);
@ -1032,23 +1030,28 @@ Chain.prototype._reorganize = function _reorganize(entry, block, callback) {
var entries = [];
(function collect(entry) {
if (entry.hash === fork.hash)
return finish();
entries.push(entry);
entry.getPrevious(function(err, entry) {
if (err)
return callback(err);
assert(entry);
if (entry.hash === fork.hash)
return finish();
entries.push(entry);
collect(entry);
});
})(entry);
function finish() {
entries = entries.slice().reverse();
// We don't want to connect the new tip here.
// That will be done outside in setBestChain.
entries.pop();
utils.forEachSerial(entries, function(entry, next) {
self.connect(entry, next);
}, callback);