Smail/backend/config/runtime_manager.go
smail a045a0cd17
Some checks are pending
Security Checks / security (push) Waiting to run
实现部署启动自动归档密钥与证书双版本保留
2026-09-08 20:34:38 +08:00

27 lines
631 B
Go

package config
import "sync"
var runtimeManager struct {
sync.RWMutex
value *ConfigManager
}
// SetRuntimeManager 注入当前进程使用的配置管理器。
func SetRuntimeManager(manager *ConfigManager) {
runtimeManager.Lock()
previous := runtimeManager.value
runtimeManager.value = manager
runtimeManager.Unlock()
if previous != nil && previous != manager {
previous.releasePendingSSL()
}
}
// CurrentManager 返回当前配置管理器;未完成分区配置初始化时返回 nil。
func CurrentManager() *ConfigManager {
runtimeManager.RLock()
defer runtimeManager.RUnlock()
return runtimeManager.value
}