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()
551551 // maybe we died while waiting
552552 if ( ! this . isAlive )
553553 {
554+ _semaphore . Release ( ) ;
555+
554556 message = "Pool is dead, returning null. " + _endPoint ;
555557 if ( _isDebugEnabled ) _logger . LogDebug ( message ) ;
556558 result . Fail ( message ) ;
557-
558559 return result ;
559560 }
560561
@@ -573,9 +574,11 @@ public async Task<IPooledSocketResult> AcquireAsync()
573574 }
574575 else
575576 {
577+ _semaphore . Release ( ) ;
578+ retval . IsAlive = false ;
579+
576580 message = "Timeout to reset an acquired socket. InstanceId " + retval . InstanceId ;
577581 _logger . LogError ( message ) ;
578- MarkAsDead ( ) ;
579582 result . Fail ( message ) ;
580583 return result ;
581584 }
@@ -589,10 +592,11 @@ public async Task<IPooledSocketResult> AcquireAsync()
589592 }
590593 catch ( Exception e )
591594 {
595+ MarkAsDead ( ) ;
596+ _semaphore . Release ( ) ;
597+
592598 message = "Failed to reset an acquired socket." ;
593599 _logger . LogError ( message , e ) ;
594-
595- this . MarkAsDead ( ) ;
596600 result . Fail ( message , e ) ;
597601 return result ;
598602 }
@@ -945,7 +949,6 @@ protected virtual async Task<IPooledSocketResult> ExecuteOperationAsync(IOperati
945949 _logger . LogError ( errorMsg ) ;
946950 return result ;
947951 }
948-
949952 }
950953
951954 protected virtual async Task < bool > ExecuteOperationAsync ( IOperation op , Action < bool > next )
You can’t perform that action at this time.
0 commit comments