From 305f3162501b62cd84403b7f3f9d1d903b0887bb Mon Sep 17 00:00:00 2001 From: itexpert228 <67105314+fdaser1337@users.noreply.github.com> Date: Sun, 15 Mar 2026 16:56:22 +0300 Subject: [PATCH] gjei9ohf --- pkg/resolver/global_resolver.go | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/pkg/resolver/global_resolver.go b/pkg/resolver/global_resolver.go index a075fea..772ac4a 100644 --- a/pkg/resolver/global_resolver.go +++ b/pkg/resolver/global_resolver.go @@ -1,26 +1,44 @@ package resolver -import "sync" +import ( + "fmt" + "log" + "sync" +) var ( globalResolver *FastResolver resolverOnce sync.Once + resolverErr error ) -// GetGlobalResolver returns singleton resolver instance +// GetGlobalResolver returns a singleton FastResolver instance. +// Sources.xz will only be parsed once per process. func GetGlobalResolver(cacheDir, mirror, suite, component string) (*FastResolver, error) { - var err error resolverOnce.Do(func() { + + log.Println("[resolver] Initializing global resolver (loading package index)") + r := NewFastResolver(cacheDir) - err = r.LoadIndex(mirror, suite, component) - if err != nil { + if err := r.LoadIndex(mirror, suite, component); err != nil { + resolverErr = fmt.Errorf("failed to load package index: %w", err) return } globalResolver = r + + log.Println("[resolver] Global resolver initialized successfully") }) - return globalResolver, err + if resolverErr != nil { + return nil, resolverErr + } + + if globalResolver == nil { + return nil, fmt.Errorf("resolver initialization failed") + } + + return globalResolver, nil }