File tree 1 file changed +10
-3
lines changed
1 file changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -342,12 +342,11 @@ impl<S: Read + Write> RawClient<S> {
342
342
// move on
343
343
trace ! ( "Reader thread received response for {}" , resp_id) ;
344
344
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
+ {
347
347
sender
348
348
. send ( ChannelMessage :: Response ( resp) )
349
349
. expect ( "Unable to send the response" ) ;
350
- map. remove ( & resp_id) ;
351
350
} else {
352
351
warn ! ( "Missing listener for {}" , resp_id) ;
353
352
}
@@ -1098,4 +1097,12 @@ mod test {
1098
1097
// Just make sure that the call returns Ok(something)
1099
1098
client. script_subscribe ( & addr. script_pubkey ( ) ) . unwrap ( ) ;
1100
1099
}
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
+ }
1101
1108
}
You can’t perform that action at this time.
0 commit comments