Pārlūkot izejas kodu

Fix dangling goroutine on session expiration

The timer channel may already have been drained by `case <-timer.C`. In
this case, we need not to drain it again or we'll block forever.

To fix this, stop draining the timer channel. Since we're not going to
use the timer again anyway, it should be fine.
master
Simon Ser pirms 4 gadiem
vecāks
revīzija
e6e457e4a7
Šim parakstam datu bāzē netika atrasta zināma atslēga GPG atslēgas ID: FDE7BE0E88F5E48
1 mainītis faili ar 1 papildinājumiem un 3 dzēšanām
  1. +1
    -3
      session.go

+ 1
- 3
session.go Parādīt failu

@@ -237,9 +237,7 @@ func (sm *SessionManager) Put(username, password string) (*Session, error) {
}
}

if !timer.Stop() {
<-timer.C
}
timer.Stop()

s.locker.Lock()
if s.imapConn != nil {


Notiek ielāde…
Atcelt
Saglabāt