From 675f7fafe70634caddc4bed2ba10335e197e9727 Mon Sep 17 00:00:00 2001 From: edouard Date: Mon, 14 Nov 2022 09:57:50 +0100 Subject: [PATCH] gui: use RWLock for embedded daemon --- gui/src/daemon/embedded.rs | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/gui/src/daemon/embedded.rs b/gui/src/daemon/embedded.rs index 9d1d4525..022dd9f8 100644 --- a/gui/src/daemon/embedded.rs +++ b/gui/src/daemon/embedded.rs @@ -1,5 +1,5 @@ use std::collections::HashMap; -use std::sync::Mutex; +use std::sync::RwLock; use super::{model::*, Daemon, DaemonError}; use minisafe::{ @@ -10,7 +10,7 @@ use minisafe::{ pub struct EmbeddedDaemon { config: Config, - handle: Option>, + handle: Option>, } impl EmbeddedDaemon { @@ -24,7 +24,7 @@ impl EmbeddedDaemon { pub fn start(&mut self) -> Result<(), DaemonError> { let handle = DaemonHandle::start_default(self.config.clone()) .map_err(|e| DaemonError::Start(e.to_string()))?; - self.handle = Some(Mutex::new(handle)); + self.handle = Some(RwLock::new(handle)); Ok(()) } } @@ -48,7 +48,7 @@ impl Daemon for EmbeddedDaemon { let next = DaemonHandle::start_default(cfg).map_err(|e| DaemonError::Start(e.to_string()))?; self.handle.take().unwrap().into_inner().unwrap().shutdown(); - self.handle = Some(Mutex::new(next)); + self.handle = Some(RwLock::new(next)); Ok(()) } @@ -69,7 +69,7 @@ impl Daemon for EmbeddedDaemon { .handle .as_ref() .ok_or(DaemonError::NoAnswer)? - .lock() + .read() .unwrap() .control .get_info()) @@ -80,7 +80,7 @@ impl Daemon for EmbeddedDaemon { .handle .as_ref() .ok_or(DaemonError::NoAnswer)? - .lock() + .read() .unwrap() .control .get_new_address()) @@ -91,7 +91,7 @@ impl Daemon for EmbeddedDaemon { .handle .as_ref() .ok_or(DaemonError::NoAnswer)? - .lock() + .read() .unwrap() .control .list_coins()) @@ -102,7 +102,7 @@ impl Daemon for EmbeddedDaemon { .handle .as_ref() .ok_or(DaemonError::NoAnswer)? - .lock() + .read() .unwrap() .control .list_spend()) @@ -117,7 +117,7 @@ impl Daemon for EmbeddedDaemon { self.handle .as_ref() .ok_or(DaemonError::NoAnswer)? - .lock() + .read() .unwrap() .control .create_spend(coins_outpoints, destinations, feerate_vb) @@ -128,7 +128,7 @@ impl Daemon for EmbeddedDaemon { self.handle .as_ref() .ok_or(DaemonError::NoAnswer)? - .lock() + .read() .unwrap() .control .update_spend(psbt.clone()) @@ -139,7 +139,7 @@ impl Daemon for EmbeddedDaemon { self.handle .as_ref() .ok_or(DaemonError::NoAnswer)? - .lock() + .read() .unwrap() .control .delete_spend(txid); @@ -150,7 +150,7 @@ impl Daemon for EmbeddedDaemon { self.handle .as_ref() .ok_or(DaemonError::NoAnswer)? - .lock() + .read() .unwrap() .control .broadcast_spend(txid) @@ -161,7 +161,7 @@ impl Daemon for EmbeddedDaemon { self.handle .as_ref() .ok_or(DaemonError::NoAnswer)? - .lock() + .read() .unwrap() .control .start_rescan(t)