Skip to content

Commit 4ea5e3f

Browse files
committed
fix: clean closing of channels
1 parent b1b7532 commit 4ea5e3f

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

examples/s3.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,17 @@ func main() {
4141
for v := range s.GetEvents() {
4242
fmt.Printf("EVENT: %s %s\n", v.Key, v.TypeString())
4343
}
44+
fmt.Println("exiting events")
4445
}()
4546

4647
go func() {
4748
for e := range s.GetErrors() {
4849
fmt.Printf("ERROR: %#v\n", e)
4950
}
51+
fmt.Println("exiting errors")
5052
}()
5153

52-
time.Sleep(30*time.Second)
54+
time.Sleep(10*time.Second)
55+
s.Close()
56+
time.Sleep(20*time.Second)
5357
}

s3.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,8 @@ func (u *S3Watcher) Start() error {
110110
u.sync()
111111

112112
case <-u.stop:
113+
close(u.Events)
114+
close(u.Errors)
113115
return
114116
}
115117
}

0 commit comments

Comments
 (0)