Files
kopia/internal/clock/sleep.go
2022-01-27 18:27:40 -08:00

19 lines
375 B
Go

package clock
import (
"context"
"time"
)
// SleepInterruptibly sleeps for the given amount of time, while also honoring cancelation signal.
// Returns false if canceled, true if slept for the entire duration.
func SleepInterruptibly(ctx context.Context, dur time.Duration) bool {
select {
case <-ctx.Done():
return false
case <-time.After(dur):
return true
}
}