diff --git a/server/gamesapi/service/sapi_forward.go b/server/gamesapi/service/sapi_forward.go index 5b1d75e9..04b8e8be 100644 --- a/server/gamesapi/service/sapi_forward.go +++ b/server/gamesapi/service/sapi_forward.go @@ -62,7 +62,11 @@ func (this *sApiForward) AcquireLock(accountId string) *SApiForwardLock { func (this *sApiForward) ReleaseLock(l *SApiForwardLock) { l.lock.Unlock() - atomic.AddInt32(&l.lockTimes, -1) + if atomic.AddInt32(&l.lockTimes, -1) < 1 { + crc32 := q5.Crc32(l.accountId) + c := this.userCache[int64(crc32)%int64(len(this.userCache))] + delete(*c.userHash, l.accountId) + } } func (this *sApiForward) IncInvalidSessionTimes() {