diff options
| author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2022-09-29 12:20:59 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-29 12:20:59 +0200 |
| commit | 2489a94b98b9d2a9f74d6899dc94aaf92a8a6246 (patch) | |
| tree | cbcb56945c93bf86cae6a368168179a5e5bdd024 /vendor/github.com/container-orchestrated-devices/container-device-interface/pkg/cdi/spec.go | |
| parent | 64ca617a42981cc6846ad85744a0826d7cc14318 (diff) | |
| parent | ba70dd5ecf6b4e5e55f55bcf966c513c3ce944be (diff) | |
| download | podman-2489a94b98b9d2a9f74d6899dc94aaf92a8a6246.tar.gz podman-2489a94b98b9d2a9f74d6899dc94aaf92a8a6246.tar.bz2 podman-2489a94b98b9d2a9f74d6899dc94aaf92a8a6246.zip | |
Merge pull request #15971 from containers/dependabot/go_modules/github.com/container-orchestrated-devices/container-device-interface-0.5.2
build(deps): bump github.com/container-orchestrated-devices/container-device-interface from 0.5.1 to 0.5.2
Diffstat (limited to 'vendor/github.com/container-orchestrated-devices/container-device-interface/pkg/cdi/spec.go')
| -rw-r--r-- | vendor/github.com/container-orchestrated-devices/container-device-interface/pkg/cdi/spec.go | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/vendor/github.com/container-orchestrated-devices/container-device-interface/pkg/cdi/spec.go b/vendor/github.com/container-orchestrated-devices/container-device-interface/pkg/cdi/spec.go index 9a5d451c9..3dfbab2f0 100644 --- a/vendor/github.com/container-orchestrated-devices/container-device-interface/pkg/cdi/spec.go +++ b/vendor/github.com/container-orchestrated-devices/container-device-interface/pkg/cdi/spec.go @@ -21,6 +21,7 @@ import ( "io/ioutil" "os" "path/filepath" + "sync" oci "github.com/opencontainers/runtime-spec/specs-go" "github.com/pkg/errors" @@ -41,6 +42,7 @@ var ( // Externally set CDI Spec validation function. specValidator func(*cdi.Spec) error + validatorLock sync.RWMutex ) // Spec represents a single CDI Spec. It is usually loaded from a @@ -249,11 +251,16 @@ func ParseSpec(data []byte) (*cdi.Spec, error) { // is used for extra CDI Spec content validation whenever a Spec file // loaded (using ReadSpec() or NewSpec()) or written (Spec.Write()). func SetSpecValidator(fn func(*cdi.Spec) error) { + validatorLock.Lock() + defer validatorLock.Unlock() specValidator = fn } // validateSpec validates the Spec using the extneral validator. func validateSpec(raw *cdi.Spec) error { + validatorLock.RLock() + defer validatorLock.RUnlock() + if specValidator == nil { return nil } |
