1
0
mirror of https://github.com/redis/go-redis.git synced 2025-12-25 00:01:00 +03:00

Cancel sleep when context is cancelled

This commit is contained in:
Vladimir Mihailenco
2019-07-30 12:13:00 +03:00
parent 6d8db67ef5
commit c837612911
6 changed files with 58 additions and 16 deletions

View File

@@ -1,6 +1,7 @@
package internal
import (
"context"
"io"
"net"
"strings"
@@ -9,10 +10,10 @@ import (
)
func IsRetryableError(err error, retryTimeout bool) bool {
if err == nil {
switch err {
case nil, context.Canceled, context.DeadlineExceeded:
return false
}
if err == io.EOF {
case io.EOF:
return true
}
if netErr, ok := err.(net.Error); ok {

View File

@@ -1,6 +1,23 @@
package internal
import "github.com/go-redis/redis/internal/util"
import (
"context"
"time"
"github.com/go-redis/redis/internal/util"
)
func Sleep(ctx context.Context, dur time.Duration) error {
t := time.NewTimer(dur)
defer t.Stop()
select {
case <-t.C:
return nil
case <-ctx.Done():
return ctx.Err()
}
}
func ToLower(s string) string {
if isLower(s) {