File tree Expand file tree Collapse file tree 1 file changed +8
-5
lines changed Expand file tree Collapse file tree 1 file changed +8
-5
lines changed Original file line number Diff line number Diff line change @@ -551,10 +551,11 @@ public async Task<IPooledSocketResult> AcquireAsync()
551
551
// maybe we died while waiting
552
552
if ( ! this . isAlive )
553
553
{
554
+ _semaphore . Release ( ) ;
555
+
554
556
message = "Pool is dead, returning null. " + _endPoint ;
555
557
if ( _isDebugEnabled ) _logger . LogDebug ( message ) ;
556
558
result . Fail ( message ) ;
557
-
558
559
return result ;
559
560
}
560
561
@@ -573,9 +574,11 @@ public async Task<IPooledSocketResult> AcquireAsync()
573
574
}
574
575
else
575
576
{
577
+ _semaphore . Release ( ) ;
578
+ retval . IsAlive = false ;
579
+
576
580
message = "Timeout to reset an acquired socket. InstanceId " + retval . InstanceId ;
577
581
_logger . LogError ( message ) ;
578
- MarkAsDead ( ) ;
579
582
result . Fail ( message ) ;
580
583
return result ;
581
584
}
@@ -589,10 +592,11 @@ public async Task<IPooledSocketResult> AcquireAsync()
589
592
}
590
593
catch ( Exception e )
591
594
{
595
+ MarkAsDead ( ) ;
596
+ _semaphore . Release ( ) ;
597
+
592
598
message = "Failed to reset an acquired socket." ;
593
599
_logger . LogError ( message , e ) ;
594
-
595
- this . MarkAsDead ( ) ;
596
600
result . Fail ( message , e ) ;
597
601
return result ;
598
602
}
@@ -945,7 +949,6 @@ protected virtual async Task<IPooledSocketResult> ExecuteOperationAsync(IOperati
945
949
_logger . LogError ( errorMsg ) ;
946
950
return result ;
947
951
}
948
-
949
952
}
950
953
951
954
protected virtual async Task < bool > ExecuteOperationAsync ( IOperation op , Action < bool > next )
You can’t perform that action at this time.
0 commit comments