mirror of
https://github.com/hackdiaz-dev/free-turn-proxy.git
synced 2026-10-12 09:41:53 +02:00
fix(udprelay): инкремент ConnectedStreams до ResetErrors
Конкурентные вызыватели HandleAuthError могли видеть устаревшие счётчики ошибок, очищенные до того, как стрим стал виден в connected-счётчике. Переупорядочено так, что снимок stream-alive идёт первым.
This commit is contained in:
@@ -401,9 +401,11 @@ func oneTURN(ctx context.Context, deps *Deps, params *Params, peer *net.UDPAddr,
|
||||
relayConn := stream.Relay
|
||||
deps.log().Debugf("[STREAM %d] TURN server IP: %s", streamID, stream.ServerUDPAddr.IP)
|
||||
|
||||
// Increment before ResetErrors so concurrent HandleAuthError observers see
|
||||
// the stream as connected before its error counter clears.
|
||||
deps.ConnectedStreams.Add(1)
|
||||
deps.Auth.ResetErrors(streamID)
|
||||
|
||||
deps.ConnectedStreams.Add(1)
|
||||
defer func() {
|
||||
deps.ConnectedStreams.Add(-1)
|
||||
if cerr := stream.Close(); cerr != nil {
|
||||
|
||||
Reference in New Issue
Block a user