fix(gateway): qualify concurrent fair allocation

This commit is contained in:
sechmachine
2026-07-30 06:19:00 +07:00
parent ff23fc9876
commit b7a42dc652
4 changed files with 63 additions and 23 deletions
+6 -2
View File
@@ -449,11 +449,12 @@ type fakeSession struct {
}
func (s *fakeSession) Ready(ctx context.Context) error {
s.mu.Lock()
if s.failure == FakeFailureReadinessTimeout {
s.mu.Unlock()
<-ctx.Done()
return ctx.Err()
}
s.mu.Lock()
defer s.mu.Unlock()
if s.state.State == ProviderStateDisconnected {
return ErrProviderDisconnected
@@ -585,7 +586,10 @@ func (s *fakeSession) ReleaseAll(_ context.Context) error {
}
func (s *fakeSession) Terminate(ctx context.Context) error {
if s.failure == FakeFailureTerminationTimeout {
s.mu.Lock()
terminationTimeout := s.failure == FakeFailureTerminationTimeout
s.mu.Unlock()
if terminationTimeout {
<-ctx.Done()
s.mu.Lock()
s.state.State = ProviderStateCleanup