Skip to content

Commit 335fd49

Browse files
committed
Add extra test + minor refactoring
1 parent 110fff5 commit 335fd49

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

src/raw_client.rs

+10-3
Original file line numberDiff line numberDiff line change
@@ -342,12 +342,11 @@ impl<S: Read + Write> RawClient<S> {
342342
// move on
343343
trace!("Reader thread received response for {}", resp_id);
344344

345-
let mut map = self.waiting_map.lock().unwrap();
346-
if let Some(sender) = map.get(&resp_id) {
345+
if let Some(sender) = self.waiting_map.lock().unwrap().remove(&resp_id)
346+
{
347347
sender
348348
.send(ChannelMessage::Response(resp))
349349
.expect("Unable to send the response");
350-
map.remove(&resp_id);
351350
} else {
352351
warn!("Missing listener for {}", resp_id);
353352
}
@@ -1098,4 +1097,12 @@ mod test {
10981097
// Just make sure that the call returns Ok(something)
10991098
client.script_subscribe(&addr.script_pubkey()).unwrap();
11001099
}
1100+
1101+
#[test]
1102+
fn test_request_after_error() {
1103+
let client = RawClient::new(get_test_server()).unwrap();
1104+
1105+
assert!(client.transaction_broadcast_raw(&[0x00]).is_err());
1106+
assert!(client.server_features().is_ok());
1107+
}
11011108
}

0 commit comments

Comments
 (0)