aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/go-redis/redis/v7/internal/once.go
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2021-02-10 22:28:32 +0100
committerGitHub <noreply@github.com>2021-02-10 21:28:32 +0000
commitac97ea573c1b10d03e72775e8f74b9fe5453bfc8 (patch)
tree99fa7488782a2a6c4362c49e4cdf04594c662ca3 /vendor/github.com/go-redis/redis/v7/internal/once.go
parent4cffc46f651205b9d7eb0b1df46dd6117c6d95e9 (diff)
downloadgitea-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.go60
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
-}