diff options
author | 6543 <6543@obermui.de> | 2021-02-10 22:28:32 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-10 21:28:32 +0000 |
commit | ac97ea573c1b10d03e72775e8f74b9fe5453bfc8 (patch) | |
tree | 99fa7488782a2a6c4362c49e4cdf04594c662ca3 /vendor/github.com/go-redis/redis/v7/internal/once.go | |
parent | 4cffc46f651205b9d7eb0b1df46dd6117c6d95e9 (diff) | |
download | gitea-ac97ea573c1b10d03e72775e8f74b9fe5453bfc8.tar.gz gitea-ac97ea573c1b10d03e72775e8f74b9fe5453bfc8.zip |
[Vendor] Update go-redis to v8.5.0 (#13749)
* Update go-redis to v8.4.0
* github.com/go-redis/redis/v8 v8.4.0 -> v8.5.0
* Apply suggestions from code review
Co-authored-by: zeripath <art27@cantab.net>
* TODO
* Use the Queue termination channel as the default context for pushes
Signed-off-by: Andrew Thornton <art27@cantab.net>
* missed one
Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: zeripath <art27@cantab.net>
Diffstat (limited to 'vendor/github.com/go-redis/redis/v7/internal/once.go')
-rw-r--r-- | vendor/github.com/go-redis/redis/v7/internal/once.go | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/vendor/github.com/go-redis/redis/v7/internal/once.go b/vendor/github.com/go-redis/redis/v7/internal/once.go deleted file mode 100644 index 64f46272ae..0000000000 --- a/vendor/github.com/go-redis/redis/v7/internal/once.go +++ /dev/null @@ -1,60 +0,0 @@ -/* -Copyright 2014 The Camlistore Authors - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package internal - -import ( - "sync" - "sync/atomic" -) - -// A Once will perform a successful action exactly once. -// -// Unlike a sync.Once, this Once's func returns an error -// and is re-armed on failure. -type Once struct { - m sync.Mutex - done uint32 -} - -// Do calls the function f if and only if Do has not been invoked -// without error for this instance of Once. In other words, given -// var once Once -// if once.Do(f) is called multiple times, only the first call will -// invoke f, even if f has a different value in each invocation unless -// f returns an error. A new instance of Once is required for each -// function to execute. -// -// Do is intended for initialization that must be run exactly once. Since f -// is niladic, it may be necessary to use a function literal to capture the -// arguments to a function to be invoked by Do: -// err := config.once.Do(func() error { return config.init(filename) }) -func (o *Once) Do(f func() error) error { - if atomic.LoadUint32(&o.done) == 1 { - return nil - } - // Slow-path. - o.m.Lock() - defer o.m.Unlock() - var err error - if o.done == 0 { - err = f() - if err == nil { - atomic.StoreUint32(&o.done, 1) - } - } - return err -} |