From a5ae68700008911b183d9c2e3509821d0e88e762 Mon Sep 17 00:00:00 2001 From: librelois <c@elo.tf> Date: Sun, 2 May 2021 18:25:02 +0200 Subject: [PATCH] [fix] start: infinite loop at starting if gva is disabled --- rust-libs/duniter-server/src/legacy/dunp.rs | 17 +++++++++++++++++ .../duniter-server/src/legacy/txs_mempool.rs | 17 ----------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/rust-libs/duniter-server/src/legacy/dunp.rs b/rust-libs/duniter-server/src/legacy/dunp.rs index d153e53b8..99f54a6fb 100644 --- a/rust-libs/duniter-server/src/legacy/dunp.rs +++ b/rust-libs/duniter-server/src/legacy/dunp.rs @@ -16,6 +16,23 @@ use crate::*; impl DuniterServer { + pub fn get_self_endpoints(&self) -> anyhow::Result<Vec<Endpoint>> { + // Do not get rust endpoints on js tests or when gva is disabled + if std::env::var_os("DUNITER_JS_TESTS") != Some("yes".into()) && self.conf.gva.is_some() { + let (sender, recv) = flume::bounded(1); + loop { + self.global_sender + .send(GlobalBackGroundTaskMsg::GetSelfEndpoints(sender.clone()))?; + if let Some(self_endpoints) = recv.recv()? { + break Ok(self_endpoints); + } else { + std::thread::sleep(std::time::Duration::from_millis(100)); + } + } + } else { + Ok(vec![]) + } + } pub fn receive_new_heads( &self, heads: Vec<( diff --git a/rust-libs/duniter-server/src/legacy/txs_mempool.rs b/rust-libs/duniter-server/src/legacy/txs_mempool.rs index 3a484b9a2..7dc898088 100644 --- a/rust-libs/duniter-server/src/legacy/txs_mempool.rs +++ b/rust-libs/duniter-server/src/legacy/txs_mempool.rs @@ -40,23 +40,6 @@ impl DuniterServer { .execute(move |dbs| txs_mempool.add_pending_tx_force(&dbs.txs_mp_db, &tx)) .expect("dbs pool disconnected") } - pub fn get_self_endpoints(&self) -> anyhow::Result<Vec<Endpoint>> { - // Do not get rust endpoints on js tests - if std::env::var_os("DUNITER_JS_TESTS") != Some("yes".into()) { - let (sender, recv) = flume::bounded(1); - loop { - self.global_sender - .send(GlobalBackGroundTaskMsg::GetSelfEndpoints(sender.clone()))?; - if let Some(self_endpoints) = recv.recv()? { - break Ok(self_endpoints); - } else { - std::thread::sleep(std::time::Duration::from_millis(100)); - } - } - } else { - Ok(vec![]) - } - } pub fn get_mempool_txs_free_rooms(&self) -> KvResult<usize> { let txs_mempool = self.txs_mempool; self.dbs_pool -- GitLab