File tree Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Expand file tree Collapse file tree 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> {
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}
You can’t perform that action at this time.
0 commit comments