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
They were sending a message to a buffered channel, but that meant if
they ever got a second attempt at sending to the channel they might
block. And that could happen because we would reset the 'look for
addresseses' timer to re-trigger in 1ms. And if there was any
significant hiccup in any of the Addresses code, the timer would be
ready to fire again as soon as the overall loop came back. In testing,
adding a time.Sleep(3ms) in the Addresses call was able to cause up to
14 calls to Addresses to be made before it noticed the interrupted
channel. (select is not fair on each possibility.)
By closing the channel we can guarantee they never deadlock.
0 commit comments