Use RWMutex

This commit is contained in:
Lunny Xiao 2025-12-12 10:06:36 -08:00
parent e2870aaa88
commit fb475470f0
No known key found for this signature in database
GPG Key ID: C3B7C91B632F738A

View File

@ -50,12 +50,21 @@ func (gpgSettings *GPGSettings) LoadPublicKeyContent() error {
}
var (
loadPublicGPGKeyMutex sync.Mutex
loadPublicGPGKeyMutex sync.RWMutex
globalGPGSettings *GPGSettings
)
// GetDefaultPublicGPGKey will return and cache the default public GPG settings
func GetDefaultPublicGPGKey(ctx context.Context, forceUpdate bool) (*GPGSettings, error) {
if !forceUpdate {
loadPublicGPGKeyMutex.RLock()
if globalGPGSettings != nil {
defer loadPublicGPGKeyMutex.RUnlock()
return globalGPGSettings, nil
}
loadPublicGPGKeyMutex.RUnlock()
}
loadPublicGPGKeyMutex.Lock()
defer loadPublicGPGKeyMutex.Unlock()