mox/mox-/sleep.go
Mechiel Lukkien cb229cb6cf
mox!
2023-01-30 14:27:06 +01:00

19 lines
358 B
Go

package mox
import (
"context"
"time"
)
// Sleep for d, but return as soon as ctx is done.
//
// Used for a few places where sleep is used to push back on clients, but where
// shutting down should abort the sleep.
func Sleep(ctx context.Context, d time.Duration) {
t := time.NewTicker(d)
defer t.Stop()
select {
case <-t.C:
case <-ctx.Done():
}
}