diff options
author | Robin Jarry <robin@jarry.cc> | 2023-01-06 22:49:26 +0100 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2023-01-06 23:51:58 +0100 |
commit | 915b869e3fc6377be114c033763987de612c443c (patch) | |
tree | 95a2165a06cbda9ad0d092ac1b3816f50daa52c1 /worker/imap | |
parent | 175c1c822084d0f42892729c8e095397bd830966 (diff) | |
download | aerc-915b869e3fc6377be114c033763987de612c443c.tar.gz |
lint: add missing panic handlers in goroutines
These issues were all reported by the new custom analyzer introduced in
previous commit.
Signed-off-by: Robin Jarry <robin@jarry.cc>
Tested-by: Bence Ferdinandy <bence@ferdinandy.com>
Diffstat (limited to 'worker/imap')
-rw-r--r-- | worker/imap/cache.go | 1 | ||||
-rw-r--r-- | worker/imap/connect.go | 2 | ||||
-rw-r--r-- | worker/imap/observer.go | 2 |
3 files changed, 5 insertions, 0 deletions
diff --git a/worker/imap/cache.go b/worker/imap/cache.go index b8673ae7..352ef313 100644 --- a/worker/imap/cache.go +++ b/worker/imap/cache.go @@ -145,6 +145,7 @@ func cacheDir() (string, error) { // cleanCache removes stale entries from the selected mailbox cachedb func (w *IMAPWorker) cleanCache(path string) { + defer log.PanicHandler() start := time.Now() var scanned, removed int iter := w.cache.NewIterator(nil, nil) diff --git a/worker/imap/connect.go b/worker/imap/connect.go index d6c946db..5be916e7 100644 --- a/worker/imap/connect.go +++ b/worker/imap/connect.go @@ -111,6 +111,7 @@ func newTCPConn(addr string, timeout time.Duration) (*net.TCPConn, error) { done := make(chan tcpConn) go func() { + defer log.PanicHandler() addr, err := net.ResolveTCPAddr("tcp", addr) if err != nil { done <- tcpConn{nil, err} @@ -129,6 +130,7 @@ func newTCPConn(addr string, timeout time.Duration) (*net.TCPConn, error) { select { case <-time.After(timeout): go func() { + defer log.PanicHandler() if tcpResult := <-done; tcpResult.conn != nil { tcpResult.conn.Close() } diff --git a/worker/imap/observer.go b/worker/imap/observer.go index 2cfe8bd9..9ad311dd 100644 --- a/worker/imap/observer.go +++ b/worker/imap/observer.go @@ -76,6 +76,7 @@ func (o *observer) Start() { return } go func() { + defer log.PanicHandler() select { case <-o.client.LoggedOut(): o.log("<-logout") @@ -129,6 +130,7 @@ func (o *observer) DelayedReconnect() error { } go func() { + defer log.PanicHandler() <-time.After(wait) o.emit(reterr.Error()) }() |