diff --git a/src/universe.cpp b/src/universe.cpp index bbfdd41c12e7a638e5a8378ae3940e59e2c03be6..3234336264415b63512c263059fce9284fe82b22 100644 --- a/src/universe.cpp +++ b/src/universe.cpp @@ -444,7 +444,16 @@ void Universe::_periodic() { if (removed) continue; } - if ((*i).peer->reconnect()) { + auto peer = i->peer; + _insertPeer(peer); + i = reconnects_.erase(i); + ftl::pool.push([peer](int id) { + if (!peer->reconnect()) { + LOG(INFO) << "Reconnect failed"; + } + }); + + /*if ((*i).peer->reconnect()) { _insertPeer((*i).peer); i = reconnects_.erase(i); } @@ -455,7 +464,7 @@ void Universe::_periodic() { else { garbage_.push_back((*i).peer); i = reconnects_.erase(i); - } + }*/ } }