bc9c5d2e6e
When closing a session, there are two possible signals that will occur, one from the outside, indicating that the session is idle and needs to be closed, and the internal error condition that will be unblocked with a net.ErrClosed when the connection underneath is closed. Both of these routines write to the session's closeChan. Once the reader for the closeChan reads one value, it will immediately return. This means that the channel is a one-shot and one of the two writers will get stuck unless the size of the channel is increased to accomodate for the second write to the channel. With the channel size increased to two, the second writer (whichever loses the race to write) will now be unblocked to end their go routine and return. Closes TUN-8817 |
||
---|---|---|
.. | ||
v3 | ||
constants.go | ||
conversion.go | ||
datagram.go | ||
datagram_test.go | ||
datagramv2.go | ||
metrics.go | ||
param_unix.go | ||
param_windows.go | ||
safe_stream.go | ||
safe_stream_test.go | ||
tracing.go |