Use select statement to prevent blocking on context status check

This commit is contained in:
Elara 2023-06-28 21:49:07 -07:00
parent 1c623051ec
commit ac7c626f56

View File

@ -9,7 +9,6 @@ import (
"net/url" "net/url"
"strconv" "strconv"
"strings" "strings"
"time" "time"
"go.elara.ws/infinitime" "go.elara.ws/infinitime"
@ -86,10 +85,13 @@ func initWeather(ctx context.Context, wg WaitGroup, dev *infinitime.Device) erro
go func() { go func() {
defer wg.Done("weather") defer wg.Done("weather")
for { for {
_, ok := <-ctx.Done() select {
case _, ok := <-ctx.Done():
if !ok { if !ok {
return return
} }
default:
}
// Attempt to get weather // Attempt to get weather
data, err := getWeather(ctx, lat, lon) data, err := getWeather(ctx, lat, lon)