
commit b5ce2598586d729b0906d3936706dc48e82e1455 Author: Cecylia Bocovich <cohosh@torproject.org> Date: Thu Nov 5 12:34:24 2020 -0500 Fixed a bug that forced datachannel timeout The probetest answer response was not being sent until the select call received a datachannel timeout causing all attempted connections to fail. --- probetest/probetest.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/probetest/probetest.go b/probetest/probetest.go index af08e32..1d2d6ef 100644 --- a/probetest/probetest.go +++ b/probetest/probetest.go @@ -137,16 +137,15 @@ func probeHandler(w http.ResponseWriter, r *http.Request) { // Set a timeout on peerconnection. If the connection state has not // advanced to PeerConnectionStateConnected in this time, // destroy the peer connection and return the token. - select { - case <-dataChan: - if err := pc.Close(); err != nil { - log.Printf("Error calling pc.Close: %v", err) + go func() { + select { + case <-dataChan: + case <-time.After(dataChannelTimeout): } - case <-time.After(dataChannelTimeout): if err := pc.Close(); err != nil { log.Printf("Error calling pc.Close: %v", err) } - } + }() return }
participants (1)
-
cohosh@torproject.org