diff options
author | Adam Langley <agl@golang.org> | 2010-10-11 10:41:01 -0400 |
---|---|---|
committer | Adam Langley <agl@golang.org> | 2010-10-11 10:41:01 -0400 |
commit | 2d8e2482cc0f290042f49dc3628922dcf40db5c9 (patch) | |
tree | b2f274b1311e785d88d2d6826c4cd87e82eaea5a | |
parent | f6e2eab8e02c3797d03987b5f394b2cb775b5518 (diff) | |
download | go-2d8e2482cc0f290042f49dc3628922dcf40db5c9.tar.gz go-2d8e2482cc0f290042f49dc3628922dcf40db5c9.zip |
crypto/tls: make SetReadTimeout work.
Fixes #1181.
R=rsc, agl1, cw, r2
CC=golang-dev
https://golang.org/cl/2414041
-rw-r--r-- | src/pkg/crypto/tls/conn.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/pkg/crypto/tls/conn.go b/src/pkg/crypto/tls/conn.go index 9bf9f21851..b18cda7bba 100644 --- a/src/pkg/crypto/tls/conn.go +++ b/src/pkg/crypto/tls/conn.go @@ -598,7 +598,10 @@ func (c *Conn) Read(b []byte) (n int, err os.Error) { defer c.in.Unlock() for c.input == nil && c.err == nil { - c.readRecord(recordTypeApplicationData) + if err := c.readRecord(recordTypeApplicationData); err != nil { + // Soft error, like EAGAIN + return 0, err + } } if c.err != nil { return 0, c.err |