X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=lib%2Fxdsserver%2Fsdks.go;h=4a7ba84c5ebd207306bbff641789ffcef3087fef;hb=65e09e831cf13343ac713fbf15281174d1f13a94;hp=c006861f391b0491a63ca656382a83d29e1e01eb;hpb=dcdee5e2aa05ec07e7e750bea4faad63bce7b668;p=src%2Fxds%2Fxds-server.git diff --git a/lib/xdsserver/sdks.go b/lib/xdsserver/sdks.go index c006861..4a7ba84 100644 --- a/lib/xdsserver/sdks.go +++ b/lib/xdsserver/sdks.go @@ -38,8 +38,8 @@ type SDKs struct { stop chan struct{} // signals intentional stop } -// NewSDKs creates a new instance of SDKs -func NewSDKs(ctx *Context) (*SDKs, error) { +// SDKsConstructor creates a new instance of SDKs +func SDKsConstructor(ctx *Context) (*SDKs, error) { s := SDKs{ Context: ctx, Sdks: make(map[string]*CrossSDK), @@ -63,6 +63,12 @@ func NewSDKs(ctx *Context) (*SDKs, error) { return &s, err } + // Update SDK DB on startup by default (can be disable using config file) + update := true + if s.Config.FileConf.SdkDbUpdate != "startup" { + update = false + } + s.mutex.Lock() defer s.mutex.Unlock() @@ -73,10 +79,11 @@ func NewSDKs(ctx *Context) (*SDKs, error) { continue } - sdksList, err := ListCrossSDK(d, s.Log) + sdksList, err := ListCrossSDK(d, update, s.Log) if err != nil { // allow to use XDS even if error on list s.Log.Errorf("Cannot retrieve SDK list: %v", err) + sdksList, _ = ListCrossSDK(d, false, s.Log) } s.LogSillyf("'%s' SDKs list: %v", d, sdksList)