Smail/server/config/runtime_manager.go

23 lines
518 B
Go

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