Add timeout for peek (fixes #1035)

This commit is contained in:
Audrius Butkevicius 2015-08-06 12:07:34 +01:00
parent dd64ba1910
commit 1b6b481fcc

View File

@ -102,7 +102,9 @@ func (l *DowngradingListener) Accept() (net.Conn, error) {
} }
br := bufio.NewReader(conn) br := bufio.NewReader(conn)
conn.SetReadDeadline(time.Now().Add(1 * time.Second))
bs, err := br.Peek(1) bs, err := br.Peek(1)
conn.SetReadDeadline(time.Time{})
if err != nil { if err != nil {
// We hit a read error here, but the Accept() call succeeded so we must not return an error. // We hit a read error here, but the Accept() call succeeded so we must not return an error.
// We return the connection as is and let whoever tries to use it deal with the error. // We return the connection as is and let whoever tries to use it deal with the error.