You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
in handleLoop() function select case <-s.done: branch
counter.Start()
if counter.Count() > s.wait.Nanoseconds() {
log.Info("%s, [session.handleLoop] got done signal ", s.Stat())
break LOOP
}
if counter doesn't reach session exit waiting time , this if-branch will not hit so it cannot break loop.
however close(s. done) will tigger only once, if for-loop continue running ,case <-s.done will never reach.
so exit wait delay will not perform as expected.
In my opinion, judging exit waiting timeout should appear in select default case or using while counter.Count() > s.wait.Nanoseconds() {} to confirm timeout exit as expected.
The text was updated successfully, but these errors were encountered:
in handleLoop() function select case <-s.done: branch
counter.Start()
if counter.Count() > s.wait.Nanoseconds() {
log.Info("%s, [session.handleLoop] got done signal ", s.Stat())
break LOOP
}
if counter doesn't reach session exit waiting time , this if-branch will not hit so it cannot break loop.
however close(s. done) will tigger only once, if for-loop continue running ,case <-s.done will never reach.
so exit wait delay will not perform as expected.
In my opinion, judging exit waiting timeout should appear in select default case or using while counter.Count() > s.wait.Nanoseconds() {} to confirm timeout exit as expected.
The text was updated successfully, but these errors were encountered: