From: Matt Joiner Date: Mon, 9 Feb 2015 13:17:59 +0000 (+1100) Subject: Handle SetDeadline failure for handshake X-Git-Tag: v1.0.0~1342 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=467d2bdf8dfc907ee9cdc644e8c0a2316516aa32;p=btrtrc.git Handle SetDeadline failure for handshake --- diff --git a/client.go b/client.go index 394cea23..d043f067 100644 --- a/client.go +++ b/client.go @@ -851,11 +851,15 @@ func (me *Client) runConnection(sock net.Conn, torrent *torrent, discovery peerS tcpConn.SetLinger(0) } defer sock.Close() + // One minute to complete handshake. + err = sock.SetDeadline(time.Now().Add(time.Minute)) + if err != nil { + err = fmt.Errorf("couldn't set handshake deadline: %s", err) + return + } me.mu.Lock() me.handshaking++ me.mu.Unlock() - // One minute to complete handshake. - sock.SetDeadline(time.Now().Add(time.Minute)) hsRes, ok, err := handshake(sock, func() *InfoHash { if torrent == nil { return nil