@@ -464,8 +464,7 @@ impl<S: Read + Write> RawClient<S> {
464
464
if let Err ( e) = reader. read_line ( & mut raw_resp) {
465
465
let error = Arc :: new ( e) ;
466
466
for ( _, s) in self . waiting_map . lock ( ) . unwrap ( ) . drain ( ) {
467
- s. send ( ChannelMessage :: Error ( error. clone ( ) ) )
468
- . expect ( "Unable to send ChannelMessage::Error" ) ;
467
+ s. send ( ChannelMessage :: Error ( error. clone ( ) ) ) ?;
469
468
}
470
469
return Err ( Error :: SharedIOError ( error) ) ;
471
470
}
@@ -494,9 +493,7 @@ impl<S: Read + Write> RawClient<S> {
494
493
// If the map is not empty, we select a random thread to become the
495
494
// new reader thread.
496
495
if let Some ( sender) = map. values ( ) . next ( ) {
497
- sender
498
- . send ( ChannelMessage :: WakeUp )
499
- . expect ( "Unable to WakeUp a different thread" ) ;
496
+ sender. send ( ChannelMessage :: WakeUp ) ?;
500
497
}
501
498
502
499
break Ok ( resp) ;
@@ -507,9 +504,7 @@ impl<S: Read + Write> RawClient<S> {
507
504
trace ! ( "Reader thread received response for {}" , resp_id) ;
508
505
509
506
if let Some ( sender) = self . waiting_map . lock ( ) ?. remove ( & resp_id) {
510
- sender
511
- . send ( ChannelMessage :: Response ( resp) )
512
- . expect ( "Unable to send the response" ) ;
507
+ sender. send ( ChannelMessage :: Response ( resp) ) ?;
513
508
} else {
514
509
warn ! ( "Missing listener for {}" , resp_id) ;
515
510
}
@@ -532,9 +527,7 @@ impl<S: Read + Write> RawClient<S> {
532
527
// running somewhere.
533
528
Err ( Error :: CouldntLockReader )
534
529
}
535
- e @ Err ( TryLockError :: Poisoned ( _) ) => e
536
- . map ( |_| Ok ( serde_json:: Value :: Null ) )
537
- . expect ( "Poisoned reader mutex" ) , // panic if the reader mutex has been poisoned
530
+ Err ( TryLockError :: Poisoned ( e) ) => Err ( e) ?,
538
531
} ;
539
532
540
533
let resp = resp?;
@@ -585,22 +578,21 @@ impl<S: Read + Write> RawClient<S> {
585
578
match self . _reader_thread ( Some ( req_id) ) {
586
579
Ok ( response) => break Ok ( response) ,
587
580
Err ( Error :: CouldntLockReader ) => {
588
- match receiver. recv ( ) {
581
+ match receiver. recv ( ) ? {
589
582
// Received our response, returning it
590
- Ok ( ChannelMessage :: Response ( received) ) => break Ok ( received) ,
591
- Ok ( ChannelMessage :: WakeUp ) => {
583
+ ChannelMessage :: Response ( received) => break Ok ( received) ,
584
+ ChannelMessage :: WakeUp => {
592
585
// We have been woken up, this means that we should try becoming the
593
586
// reader thread ourselves
594
587
trace ! ( "WakeUp for {}" , req_id) ;
595
588
596
589
continue ;
597
590
}
598
- Ok ( ChannelMessage :: Error ( e) ) => {
591
+ ChannelMessage :: Error ( e) => {
599
592
warn ! ( "Received ChannelMessage::Error" ) ;
600
593
601
594
break Err ( Error :: SharedIOError ( e) ) ;
602
595
}
603
- e @ Err ( _) => e. map ( |_| ( ) ) . expect ( "Error receiving from channel" ) , // panic if there's something wrong with the channels
604
596
}
605
597
}
606
598
e @ Err ( _) => break e,
0 commit comments