diff --git a/lightning-block-sync/src/rest.rs b/lightning-block-sync/src/rest.rs index 9473f7b1b6a..74837f08f6b 100644 --- a/lightning-block-sync/src/rest.rs +++ b/lightning-block-sync/src/rest.rs @@ -34,7 +34,8 @@ impl RestClient { { let host = format!("{}:{}", self.endpoint.host(), self.endpoint.port()); let uri = format!("{}/{}", self.endpoint.path().trim_end_matches("/"), resource_path); - let mut client = if let Some(client) = self.client.lock().unwrap().take() { + let reserved_client = self.client.lock().unwrap().take(); + let mut client = if let Some(client) = reserved_client { client } else { HttpClient::connect(&self.endpoint)? diff --git a/lightning-block-sync/src/rpc.rs b/lightning-block-sync/src/rpc.rs index 8032d3fccec..59c7e589e97 100644 --- a/lightning-block-sync/src/rpc.rs +++ b/lightning-block-sync/src/rpc.rs @@ -77,7 +77,8 @@ impl RpcClient { "id": &self.id.fetch_add(1, Ordering::AcqRel).to_string() }); - let mut client = if let Some(client) = self.client.lock().unwrap().take() { + let reserved_client = self.client.lock().unwrap().take(); + let mut client = if let Some(client) = reserved_client { client } else { HttpClient::connect(&self.endpoint)?